小编elm*_*rki的帖子

为什么是2020年的产量?

我有以下代码:

#include <iostream>
using namespace std;

class Foo {
   int data;
public:
   Foo(int d = 0) {
      data = d;
   }

   ~Foo() {
      cout << data;
   }
};

int main() {
   Foo a;
   a = 20;
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

这段代码的输出是2020。我想会发生什么,创建了一个临时对象a。一旦使用赋值运算符将值赋值为 20,就会调用析构函数并打印 20。然后 main 函数到达 return 并再次调用析构函数,再次打印 20。

我对吗?

c++ constructor destructor

7
推荐指数
1
解决办法
199
查看次数

在头文件中初始化类的成员变量是一个好习惯吗?

假设我有一个指针,我希望将其初始化为 nullptr。哪个选项更好,创建一个将该成员变量设置为 nullptr 的构造函数,或者只是在头文件的声明中将其初始化为 nullptr。

有什么区别吗?后者被认为是不好的做法吗?

提前致谢。

c++

6
推荐指数
2
解决办法
4975
查看次数

标签 统计

c++ ×2

constructor ×1

destructor ×1