string的内存本质

    虽然没有研究过string的源代码,不过可以确定的是string的内存空间是在堆上开辟的,它自己负责释放空间,不用我们关系。

   我们用一个动态分配的字符串指针初始化一个string对象retStr,它会做一个拷贝过程,将字符串考到retStr自己的内存空间里,之后retStr就跟ret没有任何关系了,因此我们要记得释放ret:

1 char* ret = (char*)malloc(len_str);
2 memset(ret,0,len_str);
3 //operate ret  ...
4 string retStr(ret);
5 free(ret);

 


posted @ 2014-08-29 13:59  郭晓倩  阅读(166)  评论(0编辑  收藏  举报