c – “重新初始化”/清理类实例的最短和最佳方式

我会保持简短,只是给你一个代码示例:
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非常有效;移动分配运算符将负责手动清理每个成员.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...