Я новичок в stl. Вот моя нижняя программа.как сделать stl :: map key case нечувствительный
typedef pair<string, int> p;
int main(int argc, char *argv[])
{
map<string,int> st;
st.insert(p("hello",1)); //Inserted "hello" as key to map.
st.insert(p("HELLO",1)); //Inserted "HELLO" as key to map.
cout<<"size="<<st.size()<<endl; //Output is 2 because two records found "hello" and "HELLO"
return 0;
}
Я не хочу, чтобы принять во внимание неоднократные изменения случая (верхний регистр в нижний регистр слова или наоборот). Здесь «st.insert (p (« HELLO », 1)); должен потерпеть неудачу, следовательно, нет. записей должно быть «1» вместо «2». Есть ли какая-либо установка флага или так?
Мне не удалось найти ответы на связанные вопросы, поэтому разместил этот вопрос.
Любая помощь благодарна.
Простейший способ заключается в том, чтобы превратить их в нижний регистр перед добавлением на карту. – zch