Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ map erase

作者:妖孽少年   发布日期:2026-06-02   浏览:28

#include <iostream>
#include <map>

int main() {
    // 创建一个 map,键为 int 类型,值为 string 类型
    std::map<int, std::string> myMap;

    // 向 map 中插入一些元素
    myMap[1] = "one";
    myMap[2] = "two";
    myMap[3] = "three";
    myMap[4] = "four";

    // 打印原始的 map 内容
    std::cout << "Original map contents:" << std::endl;
    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    // 使用 erase 方法删除键为 2 的元素
    myMap.erase(2);

    // 打印删除后的 map 内容
    std::cout << "\nMap contents after erasing key 2:" << std::endl;
    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    // 使用 erase 方法删除一个范围内的元素
    auto it = myMap.find(3);
    if (it != myMap.end()) {
        myMap.erase(it, myMap.end());
    }

    // 打印删除范围后的 map 内容
    std::cout << "\nMap contents after erasing from key 3 to end:" << std::endl;
    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

解释说明:

  1. 创建和初始化 map

    • 使用 std::map<int, std::string> 创建了一个键为 int 类型、值为 string 类型的映射。
    • 使用下标运算符 [] 插入了一些键值对。
  2. 打印原始 map

    • 使用范围 for 循环遍历并打印了 map 中的所有元素。
  3. 使用 erase 删除单个元素

    • myMap.erase(2) 删除了键为 2 的元素。如果该键存在,则返回被删除的元素数量(通常是 1);如果不存在,则返回 0。
  4. 打印删除后的 map

    • 再次遍历并打印 map,验证删除操作是否成功。
  5. 使用 erase 删除范围内的元素

    • 使用 find 查找键为 3 的迭代器,并调用 erase 删除从该迭代器到 map 结束的所有元素。
    • 注意:erase 删除范围时,左闭右开,即包含起始迭代器指向的元素,但不包含结束迭代器指向的元素。
  6. 打印删除范围后的 map

    • 最后再次遍历并打印 map,验证范围删除操作是否成功。

上一篇:windows c++

下一篇:c++ int 转string

大家都在看

c++闭包

c++向上取整的代码

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++怎么输入字符串

c++ functional

c++框架代码

c++格式化字符串

c++ orm框架

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站