【问题标题】:C++ STL map::erase a non-existing keyC++ STL map::erase a non-existing key
【发布时间】: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 map key erase


    【解决方案1】:

    是的,事实上,std::map::erase() 返回一个 size_type,它表示已擦除的键数。因此,它返回 0 表示什么都没有被擦除,而 1 表示为一张地图擦除了一些东西。

    【讨论】:

      【解决方案2】:

      这很好,在这种情况下 mymap.erase('D') 将返回 0。

      http://www.cplusplus.com/reference/stl/map/erase.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-04
        相关资源
        最近更新 更多