我将简短介绍一下,仅向您展示一个代码示例:
class myClass
{
public:
myClass();
int a;
int b;
int c;
}
// In the myClass.cpp or whatever
myClass::myClass( )
{
a = 0;
b = 0;
c = 0;
}
好的。如果我知道有myClass的实例,并为a,b和c设置一些随机垃圾。
我想出了这种方式:
myClass emptyInstance;
myUsedInstance = emptyInstance; // Ewww.. code smell?
要么..
myUsedInstance.a = 0; myUsedInstance.c = 0; myUsedInstance.c = 0;
最佳答案
myUsedInstance = myClass();
如果使用这种形式,C++ 11非常有效。移动分配运算符(operator)将负责手动清洁每个成员。
关于c++ - “reinitialize”/清理类实例的最快捷方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2664031/