因为每次进行string的操作都会重新在内存中生成新的stringstring string1 = "123";  //分了一块内存
string string2 = "456";  //分第二块内存
string1 = string1 + string2;  //又分了一块内存
//第一次分的内存已经不用了,交给垃圾收集器处理善后

解决方案 »

  1.   

    也许是因为string长度不确定,而为了防止覆盖数据,所以每次更改值都是重新开辟地址。
      

  2.   

    去这个帖子里面
    看看
    http://community.csdn.net/Expert/topic/3285/3285753.xml?temp=.4215967
    注意qqchen的链接
      

  3.   

    string 是一个很奇怪的类型,NND
      

  4.   

    谢谢大家!我看了brightheroes(闭关|那一剑的风情) 大哥给出的链接,收获颇丰。现结贴。