#include #include #include using namespace std; int main(int argc, char* argv[]){ auto cmp = [](auto a, auto b){ return a < b; }; //与set类似,但是是以std::pair的形式返回的,记得写first,second map a; map b(cmp); map c; b.insert({1,"111"}); b.insert({2,"222"}); b.insert({5,"555"}); b.insert(make_pair(3,"333")); b.emplace(make_pair(4,"444")); cout << b.count(3) << endl; //没有.at()和a[i],树结构,不能直接访问第i个,可以it++ for(auto it = b.begin(); it != b.end(); it++){ cout << it->first << ", " << it->second << " "; } cout << endl; cout << b.find(3)->first << ", "<< b.find(3)->second << endl; cout << b.upper_bound(4)->first << ", " << b.upper_bound(4)->second << endl; return 0; } /* 1 1, 111 2, 222 3, 333 4, 444 5, 555 3, 333 5, 555 */