Согласно этому ответу, iterator
должен быть неявно конвертируемым в const_iterator
. Так как это правда, как мы видим, что происходит в insert_or_assign()
, то почему в С++ 17 была добавлена новая подпись в std::map::erase()
?
В С++ 11 мы iterator erase( const_iterator pos );
В С++ 17 теперь мы iterator erase( iterator pos );
Не была ли сигнатура С++ 11 достаточной для получения iterator
и const_iterator
?