//★ 使用迭代器操作vector : vector<double>::iterator pd; // pd an itertor(迭代器). vector<double>scorces; pd = scorces.begin(); // hava pd point to the first elemet. *pd = 22.3; // dereference pd and assign value to first element. ++pd; // make pd point to the next element. //★ 遍历输出vector变量的方法 : for (pd = scores.begin(); pd != scores.end(); pd++) { cout << *pd << endl; } // 附:超过结尾(past-the-end) = 它是一种迭代器,指向容器最后一个元素后面的那个元素.
//★ 使用STL的成员方法push_back() --将元素添加到矢量末尾 : vector<double> scores; // creat an empty vector. double temp; while(cin >> temp && temp >= 0) { scores.push_back(temp); } cout << "Your entered" << scores.size() << "scores.\n";
//★ 使用STL的成员方法erase() --删除矢量中给定区间的元素 : scores.erase(scores.begin(), scores.begin() +2); // 第一个参数:指向区间的起始位置; // 第二个参数:指向区间终止处的后一个位置。 // 此例中:将删除begin()和begin()+1.
//★ 使用STL的成员方法insert() --插入矢量中给定区间的元素 : vector<int> old_vaule; vector<int> new_value; ... // 将new中除第一个元素外的所有元素插入到old矢量的第一个元素的前面。 old_vaule.insert(old.begin(), new_vaule.begin() + 1, new_value.end()); // 将new插入到old的前面。 old_value.insert(old_value.end(), new_value.begin() + 1, new_value.end());
--------------------