【发布时间】:2010-10-16 07:05:53
【问题描述】:
关于C++ STL映射,按键擦除:-
size_type map::erase ( const key_type& x );
删除不存在的密钥是否合法?即下面的sn-p可以吗?
map<char,int> mymap;
mymap['c']=30;
mymap.erase('c');
mymap.erase('c');
mymap.erase('D');
干杯
【问题讨论】:
关于C++ STL映射,按键擦除:-
size_type map::erase ( const key_type& x );
删除不存在的密钥是否合法?即下面的sn-p可以吗?
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。
【讨论】: