Ответ 1
Да, на самом деле std::map::erase()
возвращает size_type, который указывает количество стираемых ключей. Таким образом, он возвращает 0 для ничего стертого и 1 для чего-то стертого для карты.
Что касается С++-карты STL, стирание по ключу: -
size_type map::erase ( const key_type& x );
Можно ли удалить несуществующий ключ? то есть фрагмент ниже ok?
map<char,int> mymap;
mymap['c']=30;
mymap.erase('c');
mymap.erase('c');
mymap.erase('D');
Приветствия
Да, на самом деле std::map::erase()
возвращает size_type, который указывает количество стираемых ключей. Таким образом, он возвращает 0 для ничего стертого и 1 для чего-то стертого для карты.
Это прекрасно, mymap.erase('D') в этом случае вернет 0.