我会保持简短,只是给你一个代码示例:
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.
>调用类构造函数后,将它们全部重置到状态的最佳方式是什么,因此:0,0和0?
我想出了这样的方式:
myClass emptyInstance; myUsedInstance = emptyInstance; // Ewww.. code smell?
要么..
myUsedInstance.a = 0; myUsedInstance.c = 0; myUsedInstance.c = 0;
>我想你知道我想要什么,有没有更好的方法来实现呢?
解决方法
myUsedInstance = myClass();
如果您使用此表格,C 11非常有效;移动分配运算符将负责手动清理每个成员.