1、以标准输入装置完成初始化操作:
vector<int> vec((std::istream_iterator<int>(cin)),(std::istream_iterator<int>()));
注意不要遗漏了涵括“初始化参数”的那对“多余的”括号,否则这个表达式的意义会迥然不同。
以标准输出堵操作:
//print elements separated with spaces
copy(vec.begin(),vec.end(),ostream_iterator<int>(cout," "));
2、vectors 并未提供任何函数可以直接移除“与某值相等”的所有元素。
以下语句可将所有其值为val的元素移除:
std::vector<Elem> coll;
//remove all elements with value val
coll.erase(remove(coll.begin(),coll.end(),val),coll.end());
如果只是要移除“与某值相等”的第一个元素,可以这么做:
std::vector<Elem> coll;
//remove first element with value val
std::vector<Elem> ::iterator pos;
pos = find(coll.begin(),coll.end(),val);
if(pos!=coll.end()){
coll.erase(pos);
}