1 问题出处:《C++ Primer 中文版(四)》,P83.
2 题目:“列出三种定义vector对象的方法,给定10个元素,每个元素值为42.”
3 所给一种解答:
vector<int> ivec;
vector<int>::iterator iter = ivec.end(); // ①
for ( int i= 0; i != 10; ++i) {
ivec.insert(iter,42); //②
iter=ivec.end;
}
std::vector::begin()
Returns an iterator to the first element of the container.
If the container is empty, the returned iterator will be equal to end().
std::vector::end()
Returns an iterator to the element following the last element of the container.
This element acts as a placeholder; attempting to access it results in undefined behavior.
1 问题出处:《C++ Primer 中文版(四)》,P83.
2 题目:“列出三种定义vector对象的方法,给定10个元素,每个元素值为42.”
3 所给一种解答:
vector<int> ivec;
vector<int>::iterator iter = ivec.end(); // ①
for ( int i= 0; i != 10; ++i) {
ivec.insert(iter,42); //②
iter=ivec.end;
}
vector<int> ivec;
vector<int>::iterator iter = ivec.end(); // ①
for ( int i= 0; i != 10; ++i) {
ivec.insert(iter,42); //②
iter=ivec.end();//这里少了括号,这个笔误,也许是你的抄写错误
//iter=ivec.end;
}