Для чего я знаю, С++ определяет map<a,b>::value_type
как pair<const a,b>
Что произойдет, если я использую тип указателя как тип ключа на карте, т.е.
std::map<const char*,int>::value_type::first_type = const char*
как я ожидал бы от определения выше или
std::map<const char*,int>::value_type::first_type = const char* const
как было бы более логично (поскольку в противном случае мне было бы позволено изменять значение ключа из итератора карты)?