首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

string a=b时a原内容有关问题

2012-11-03 
string ab时a原内容问题问个弱智的问题比如我定义了一个std::string a12222222223再定义b,std::strin

string a=b时a原内容问题
问个弱智的问题

比如我定义了一个std::string a="12222222223";
再定义b,std::string b="dsf";

当我做a=b;这样的操作时,a原来分配的内存是否会释放?

如果是以下的情况呢,
for(int i=10;i>0;i--)
{

 a = new string('r',i);
}
a的赋新值前,是否会释放它的内存?


[解决办法]
顶。这个问题很好,学习了。
其实以前STL只是业务方面的应用,今天看了你的题目才注意到STL内存分配方面的设计。

a的赋新值前,是不会释放它的内存的。一般的sting默认分配的都比你需要的大。当内存不够或者强制缩减内存时调用函数重新分配内存。

[解决办法]

探讨
当我做a=b;这样的操作时,a原来分配的内存是否会释放?

[解决办法]
string不会马上释放内存

热点排行