习题9.1
(c)错误,因为ia+8越界了。
(d)错误,因为数组指针的顺序不对。
习题9.2
vector<int> ivec; 其中没有元素
vector<int> ivec2(ivec); 包含跟ivec中一样类型和数目的元素
vector<int> ivec3(ivec.begin(), ivec.end()); 包含ivec中指定范围内的元素
vector<int> ivec4(10, 3); 10个3
习题9.3
前者只能是一样类型的元素,而后者则只需能够转换即可。
习题9.4
list< deque<int> > ints;
习题9.5
因为iostream不支持复制和赋值操作(p246),不满足容器元素类型最低限度的约束。
习题9.6
list<Foo> foos(10, 1);
习题9.7
list的容器不支持关系运算,
改正方法:
将<改成!=。
习题9.8:
判断vec_iter指向的string类型元素是否为空。
习题9.10:
b,c,d。list容器的迭代器不支持算术运算,&svec[0] != svec.begin(), it不能直接与0比较。
习题9.11:
1.两个迭代器指向同一个容器中的元素或者超出末端的下一个位置;
2.如果这两个迭代器不相等,则对first反复做自增运算必须能够到达last。