¿Qué es un int () llamado?
Se ha repetido una y otra vez que los tipos primitivos no tienen constructores. Por ejemplo esto_bar
no se inicializa a 0 cuando llamoFoo()
:
class Foo{
int _bar;
};
Obviamenteint()
No es un constructor. Pero quees ¿su nombre?
En este ejemplo diríai
es: (construido? inicializado? engañado?)
for(int i{}; i < 13; ++i)
Loki Astari mencionaaquí que la técnica tiene algún tipo de nombre.
EDITAR en respuesta aMike Seymour:
#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;
}
Ejecutar este código en Visual Studio 2013 produce:
3382592
3382592
Curiosamente en gcc 4.8.1 rendimientos:
134514651
0