黑马程序员技术交流社区

标题: string类型赋值之后无法改变的问题。 [打印本页]

作者: 郑玉赛    时间: 2012-5-12 16:04
标题: string类型赋值之后无法改变的问题。
本帖最后由 郑玉赛 于 2012-5-13 09:56 编辑

看到有人说string类型和int类型不一样,string类型赋值之后如果再次进行赋值,不是改变原来内存空间上的值,而是再开辟一个内存空间,让变量指向新的值。 这个句话该怎么理解,能不能举个例子参考下
作者: 谢栋文    时间: 2012-5-12 17:23
就相当于你拿一杯装满水的杯子,倒了重新再装满水。。。。虽然水是新装的。。以前倒出来的水还在。。。
作者: 刘春节    时间: 2012-5-12 23:41
  1. string var1 = "111";
  2. string var2 = var1;
复制代码
比如上面:
初始化var1时,内存为var1分配了一个空间
把var1的值赋给var2时, 也引用了这个空间 所以var1和var2的值相同都是111

如果要改变var1 = ''222", 不会改变原有空间的值,而是新建一个空间把值赋给var1
所以这个时候var2的值还是111




作者: 郑玉赛    时间: 2012-5-13 09:54
{:soso_e100:}问题已经解决,感谢大家。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2