#include <iostream>
#include <vector>
#include <map>
using namespace std;
typedef vector<int> IntArray;
int main()
{
IntArray array;
array.push_back(1);
array.push_back(2);
array.push_back(2);
array.push_back(2);
array.push_back(3);
for (IntArray::iterator itor = array.begin(); itor != array.end(); ++itor)
{
if (2 == *itor)
{
itor = array.erase(itor);//不重新赋值迭代器会失效
itor--;
}
}
map<string, int> mm;
mm["str"] = 555;
mm.insert(map<string, int>::value_type("123", 123));
mm.insert(pair<string, int>("123", 123));
mm.insert(make_pair("123", 123));
std::map<char, int> mymap;
// first insert function version (single parameter):
mymap.insert(std::pair<char, int>('a', 100));
mymap.insert(std::pair<char, int>('z', 200));
std::pair<std::map<char, int>::iterator, bool> ret;
ret = mymap.insert(std::pair<char, int>('z', 500));
if (ret.second == false) {
std::cout << "element 'z' already existed";
std::cout << " with a value of " << ret.first->second << '\n';
}
// second insert function version (with hint position):
std::map<char, int>::iterator it = mymap.begin();
mymap.insert(it, std::pair<char, int>('b', 300)); // max efficiency inserting
mymap.insert(it, std::pair<char, int>('c', 400)); // no max efficiency inserting
// third insert function version (range insertion):
std::map<char, int> anothermap;
anothermap.insert(mymap.begin(), mymap.find('c'));
// showing contents:
std::cout << "mymap contains:\n";
for (it = mymap.begin(); it != mymap.end(); ++it)
std::cout << it->first << " => " << it->second << '\n';
std::cout << "anothermap contains:\n";
for (it = anothermap.begin(); it != anothermap.end(); ++it)
std::cout << it->first << " => " << it->second << '\n';
return 0;
}
STL简单使用
最新推荐文章于 2022-09-03 10:26:54 发布