C++中的默认构造函数

Wer*_*lik 7 c++ default-constructor

我对这个问题很好奇,但在互联网上找不到答案.

我们假设我们有简单的标题:

// SimpleHeader.h
class SimpleClass
  {
  int i;
  }
Run Code Online (Sandbox Code Playgroud)

我们知道,为这个类自动生成默认构造函数.

现在我还有2个文件:

// First.cpp
#include <SimpleHeader.h>
// ...
SimpleClass a;
// ...
Run Code Online (Sandbox Code Playgroud)

//Second.cpp
#include <SimpleHeader.h>
// ...
SimpleClass b;
// ...
Run Code Online (Sandbox Code Playgroud)

First.obj和Second.obj都包含该类的代码

Ker*_* SB 4

从标准来看:如果你不写任何构造函数,就会为你提供一个默认构造函数,并且这个默认构造函数是内联定义的,相当于一个空构造函数T::T() {}

我很确定[编辑]这样的内联构造函数实际上根本不会产生任何机器代码。