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

前端之家收集整理的这篇文章主要介绍了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&C++相关文章