explicit vector (size_type n, const T& value= T(), const Allocator& = Allocator());
vector<int> vec(10);
cout << "vec.size: " << vec.size() << endl;
for (vector<int>::const_iterator iter=vec.begin(); iter != vec.end(); ++iter)
{
cout << *iter << endl;
}
salida de VS2010:C++ estándar: default "const T & valor" en el constructor del vector para el tipo 'int'
vec.size: 10
0
0
0
0
0
0
0
0
0
0
Pregunta>: Basado en la última C++ estándar, lo que es el int predeterminado valor cuando definimos un objeto de vector mediante el uso de vectorObject (size_type)?
Aquí, como puede ver, VS2010 genera 0 como el valor int predeterminado. Pero no sé si esto es requerido por el estándar C++.
Permitiré que los abogados del lenguaje traigan la diferencia entre la inicialización del valor, la inicialización predeterminada y la inicialización cero. Pero tenga la seguridad de que 'T()' produce cero cuando 'T' es un tipo numérico primitivo. –