Насколько я знаю, C ++ определяет 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
, как было бы более логичным (поскольку в противном случае мне было бы разрешено изменять значение ключа из итератора карты)?