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;
}
Çıktı için vektör kurucusundaki:C++ standardı: Varsayılan "const T & değer" tipi 'int' VS2010 gelen
vec.size: 10
0
0
0
0
0
0
0
0
0
0
Soru>: son C++ standart dayanarak, varsayılan int nedir vectorObject (size_type) kullanarak vektörün bir nesnesini tanımladığımız değer nedir?
Gördüğünüz gibi VS2010, 0 değerini varsayılan int değeri olarak verir. Ama bunun C++ standardı tarafından gerekli olup olmadığını bilmiyorum.
Dil avukatlarının, değer sıfırlama, varsayılan başlatma ve sıfır başlatmayla arasındaki farkı getirmelerine izin vereceğim. Fakat 'T' ilkel sayısal bir tür olduğunda 'T()' sıfırı verdiğinden emin olabilirsiniz. –