Хорошо, проблема довольно проста - я читаю слова из входного потока, слова могут повторяться. Мне нужно заполнить карту, чтобы все слова получили индексы от 0 до n-1.
Вот мой код:
map<string, int> mp;
string s;
int n = 0;
while(cin >> s)
{
if(mp.find(s) == mp.end())
{
mp.insert(make_pair(s, n++));
}
}
Это лучший способ достичь того, чего я хочу достичь, или есть более элегантные, более STL-иш решения? Заранее спасибо