title: In terms of function parameter passing, is there any "mutable" type in C++ as there is in python
body: <p>Python utilizes a call-by-reference system: <a href="https://www.geeksforgeeks.org/is-python-call-by-reference-or-call-by-value/#:%7E:text=Python%20utilizes%20a%20system%2C%20which,being%20passed%20to%20the%20function." rel="nofollow noreferrer">In the event that you pass arguments like whole numbers, strings or tuples(aka &quot;mutable&quot; types) to a function, the passing is like call-by-value because you can not change the value of the immutable objects being passed to the function. Whereas passing mutable objects can be considered as call by reference because when their values are changed inside the function, then it will also be reflected outside the function.</a> If we define &quot;mutable&quot; against the backdrop of this call-by-reference system, is there any &quot;mutable&quot; type in C++? In other words, is there any type whose value change will be reflected outside the function when passed into a call-by-value function?</p>
  <p>Also a side question:
  Why does python utilize the call-by-reference system? At the first glance, it seems that mutable types in python may cause concurrency problems.</p>