Я написал следующий код и был удивлен выходом. Я слышал, что <map>
избегает столкновения ключей, но здесь он, похоже, позволяет вставлять повторяющиеся пары.
#include<iostream>
#include<map>
using namespace std;
int main()
{
map<string,char> namemap;
namemap["yogi"]='c';
namemap.insert(pair<string,char>("yogendra",'a'));
namemap.insert(pair<string,char>("yogendra",'b'));
cout<<namemap["yogendra"]<<endl;
return 0;
}
Этот код выводит a
. Вы можете запустить его на С++ Shell.
Не удается ли избежать столкновения, что мы не можем вводить несколько пар с одним и тем же ключом?