原始类型没有构造函数已经被一遍又一遍地重新散列。例如_bar
,当我调用时,它没有初始化为 0 Foo()
:
class Foo{
int _bar;
};
所以显然int()
不是构造函数。但它叫什么名字?
在这个例子中,我想说i
的是:(构造?初始化?吃错了?)
for(int i{}; i < 13; ++i)
Loki Astari在这里提到该技术有某种名称。
编辑回应迈克西摩:
#include <iostream>
using namespace std;
class Foo{
int _bar;
public:
void printBar(){ cout << _bar << endl; }
};
int main()
{
Foo foo;
foo.printBar();
Foo().printBar();
return 0;
}
在 Visual Studio 2013 上运行此代码会产生:
3382592
3382592
有趣的是 gcc 4.8.1 的产量:
134514651
0