3.12:下列vector对象的定义有不正确的吗?如果有,请指出来。对于正确的,描述其执行结果:对于不正确的,说明其错误的原因。
(a)vector<vector<int>> ivec;
(b)vector<string> svec=ivec;
(c)vector<string> svec(10,"null");
a)正确。定义一个int类型的对象,其中每个元素都是int类型的vector对象;
b)错误。不能将int类型vector对象,拷贝初始化string类型的vector对象,类型不匹配。
c)正确。定义一个string类型vector对象,让10个"null"去初始化它(svec)。
3.13:下列的vector对象各包含多少个元素?这些元素的值分别是多少?
(a)vector<int>v1; (b)vector<int> v2(10);
(c)vector<int> v3(10,42); (d)vector<int> v4{10};
(e)vector<int> v5{10,42}; (f)vector<string> v6{10};
(g)vector<string> v7{10,"hi"};
a)元素数量为0;
b)包含10个元素,其值都为0;
c)包含10个元素,其值都为42;
d)包含1个元素,其值为10;
e)包含2个元素,其值为10,42;
f)包含10个元素,其值都为空串。
g)包含10个元素,其值都为“hi”。