加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:27:50 所属栏目:百科 来源:网络整理
导读:我会保持简短,只是给你一个代码示例: class myClass{public: myClass(); int a; int b; int c;}// In the myClass.cpp or whatevermyClass::myClass( ){ a = 0; b = 0; c = 0;} 好的.如果我知道有一个myClass的实例,并设置一些随机垃圾到a,b和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非常有效;移动分配运算符将负责手动清理每个成员.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读