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