stl中map的key可以重复吗?

    技术2024-01-11  108

    对于STL中的map中的key可以重复吗?答案就是key不可以重复,但是value是可以重复的。 如果需要key值相同那么可以采用multimap,是允许key值重复的。 例如:

    m.insert(make_pair<int, int>(1, 3)); m.insert(make_pair<int, int>(0, 4)); m.insert(make_pair<int, int>(0, 2)); MyMap::iterator it; for(it = m.begin(); it != m.end(); it++) { cout << it->first << "--->"<< it->second <<endl; }

    结果为: 0—>4 1—>3 可见,key值相同是没有意义的。那value值可以相同吗?可以的,且看:

    m.insert(make_pair<int, int>(1, 3)); m.insert(make_pair<int, int>(2, 3)); m.insert(make_pair<int, int>(0, 3)); MyMap::iterator it; for(it = m.begin(); it != m.end(); it++) { cout << it->first << "--->"<< it->second <<endl; }

    结果为: 0—>3 1—>3 2—>3

    Processed: 0.010, SQL: 9