我有一个类,它有一个private
在构造函数的堆上声明的成员。然后,在析构函数中,它是delete
ed。现在,我想添加一个方法来修改该变量。我希望能够使用参考,但我不确定所涉及的内存的细节,我想知道我做得正确(该项目在内存部门可能相当大)。
class A
{
private: std::string str;
/* ... */
public:
A()
{
str = new std::string("");
}
~A(){delete str;}
// method to modify str.
};
如果我通过引用传递,我应该采取哪些步骤来消除内存泄漏并最大限度地减少内存使用?话虽如此,我还不想对优化那么激进。
我应该如何为堆上的成员编写我的 getter 和 setter?复制构造函数,还有别的吗?