C++/Map Multimap/map insert
Insert value pair to map
<source lang="cpp">
- include <iostream>
using std::cout; using std::endl;
- include <map> // map class-template definition
int main() {
std::map< int, double, std::less< int > > pairs; pairs.insert( std::map< int, double, std::less< int > >::value_type( 15, 2.7 ) ); pairs.insert( std::map< int, double, std::less< int > >::value_type( 30, 111.11 ) ); pairs.insert( std::map< int, double, std::less< int > >::value_type( 0, 1010.1 ) ); pairs.insert( std::map< int, double, std::less< int > >::value_type( 10, 22.22 ) ); pairs.insert( std::map< int, double, std::less< int > >::value_type( 25, 33.333 ) ); pairs.insert( std::map< int, double, std::less< int > >::value_type( 0, 77.54 ) ); // dup ignored pairs.insert( std::map< int, double, std::less< int > >::value_type( 20, 9.345 ) ); pairs.insert( std::map< int, double, std::less< int > >::value_type( 15, 99.3 ) ); // dup ignored cout << "pairs contains:\nKey\tValue\n"; // use const_iterator to walk through elements of pairs for ( std::map< int, double, std::less< int > >::const_iterator iter = pairs.begin(); iter != pairs.end(); ++iter ) cout << iter->first << "\t" << iter->second << "\n"; cout << endl; return 0;
} /* pairs contains: Key Value 0 1010.1 10 22.22 15 2.7 20 9.345 25 33.333 30 111.11
*/ </source>
map insert
<source lang="cpp">
- include <map>
- include <iostream>
using namespace std; class Data { public:
Data(int val = 0) { mVal = val; } int getVal() const { return mVal; } void setVal(int val) {mVal = val; }
protected:
int mVal;
}; int main(int argc, char** argv) {
map<int, Data> dataMap; pair<map<int, Data>::iterator, bool> ret; ret = dataMap.insert(make_pair(1, Data(4))); if (ret.second) { cout << "Insert succeeded!\n"; } else { cout << "Insert failed!\n"; } ret = dataMap.insert(make_pair(1, Data(6))); if (ret.second) { cout << "Insert succeeded!\n"; } else { cout << "Insert failed!\n"; } return (0);
}
</source>