C++Primer第五版 3.3.1节练习

练习3.12
下列vector对象的定义有不正确的吗?如果有,请指出来。对于正确的,描述其执行结果;对于不正确的,说明其错误的原因。

(a). vector<vector<int>> ivec;
(b). vector<string> svec = ivec;
(c). vector<string> svec(10,"null");

练习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"};

答:
练习3.12
(a).正确:最外层的vector里存放的是一个vector类型,而里面的vector存放的是int类型,ivec是一个vector对象
(b). 错误,两者类型不一致,不能够拷贝
(c). 正确 10个string类型的元素,每个都被初始化为”null”

答:练习3.13
(a) 初始状态为空
(b) v2里10个int类型元素初始化为0
(c) v3里10个int类型元素,初始为42
(d) v4里有一个int类型元素,元素值为10
(e) v5里有2个int类型元素,分别是10,42
(f) v6里10个默认初始化的元素
(g) v7里有10个string类型元素,每个元素值为”hi”

你可能感兴趣的:(C++Primer学习)