微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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非常有效;移动分配运算符将负责手动清理每个成员.

原文地址:https://www.jb51.cc/c/114760.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐