Jan*_*egg 4 c++ string free constructor
我有一个c ++类,其成员是一个字符串,如下所示:
class Phone {
string name;
void foo()
{
name = string("new_name");
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在函数"foo"中,我将字符串重新分配给"new_name".我的问题是:
是的,std::string为你管理记忆.(这是它存在的原因之一!)它是如何实现的(例如,它可能使用写时复制,引用计数或深度复制语义),但在大多数情况下,std::string将始终正确释放如果不再需要内存.
当然,这假设在赋值运算符或析构函数的实现中没有错误std::string(对于实现非默认赋值运算符/析构函数的所有类都是如此).
| 归档时间: |
|
| 查看次数: |
2942 次 |
| 最近记录: |