本帖最后由 毕山山 于 2011-11-16 17:17 编辑
由于字符串的不可变性
string str01 = "hello,world!";
string str02 = str01;
//str02和str01都指向 "hello,world!" 注意不是str02指向str01, 而是str02指向str01指向的对象.
str01 = new string(char01);
//首先查找new string(char01)在常量池中是否存在,因为你改变了"hello,world!",所以没查到,这样会另外创建一块内存放new string(char01),这样str01就指向了new string(char01)而str02还是指向 "hello,world!". 所以str01指向的内容变了而str02指向的内容没变. |