不可变对象

定义:不可变对象一旦创建,这个对象的(状态/值)不能更改了;

其内在的成员变量的值就不能修改了,如八个基本的包装类,string等

不可变对象

定义一个对象a(abc)

不可变对象

a是对象,对象是指针赋值,所有b也指向a的地址

不可变对象

a=def,由于string是个不可变对象,不可变对象是指值对象不再修改,即abc不会被修改

,而指针a的指向可以修改;

不可变对象

a=def相当于说,先申请一个def的空间再把空间的地址赋给a;

不可变对象

new个对象a,a指向abc,调用change(a),实参的指针会传给形参的指针;

不可变对象

在函数的内部,重新申请了个def,并且把def的值赋给b,b指向abc的就断了

b就指向了def,但是a指向的没有变

不可变对象

不可变对象,也是传指针(引用),只要是对象函数调用都是传指针;

由于不可改变,临时变量指向新内存,外部实参的指针不改动;