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;
}
Wyjście z VS2010:C++ standard: default "const T & value" w konstruktorze wektorowych dla typu 'int'
vec.size: 10
0
0
0
0
0
0
0
0
0
0
question>: oparciu o najnowsze C++ standardowe, co jest domyślnym int wartość, kiedy definiujemy obiekt wektora za pomocą wektora vectorObject (size_type)?
Tutaj, jak widać, VS2010 wyprowadza 0 jako domyślną wartość int. Ale nie wiem, czy jest to wymagane przez standard C++.
Pozwolę prawnikom języków przynieść różnicę między inicjalizacją wartości, domyślną inicjalizacją i zerową inicjalizacją. Ale zapewniamy, że 'T()' daje zero, gdy 'T' jest prymitywnym typem liczbowym. –