【发布时间】:2010-09-30 23:29:19
【问题描述】:
我经常向我的 C++ 对象添加一个Empty 方法,以使用类似于以下的代码来清除内部状态。
class Foo
{
private:
int n_;
std::string str_;
public:
Foo() : n_(1234), str_("Hello, world!")
{
}
void Empty()
{
*this = Foo();
}
};
这似乎比在构造函数中复制代码要好,但我想知道*this = Foo() 是否是想要清除对象时的常用方法?这个等着咬我有什么问题吗?还有其他更好的方法来实现这种事情吗?
【问题讨论】:
标签: c++ construction