Он повторялся снова и снова, что у примитивных типов нет конструкторов. Например, этот _bar
не инициализируется 0, когда я вызываю Foo()
:
class Foo{
int _bar;
};
Таким образом, очевидно, что int()
не является конструктором. Но что это за имя?
В этом примере я бы сказал, что i
: (построено? initialized? fooed?)
for(int i{}; i < 13; ++i)
Loki Astari упоминает здесь, что техника имеет свое имя.
EDIT в ответ на Майк Сеймур:
#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