21xrx.com
2024-11-24 15:13:46 Sunday
登录
文章检索 我的文章 写文章
如何遍历和删除C++中的map元素
2023-07-14 21:20:31 深夜i     --     --
C++ map 遍历 删除 元素

在C++中,map是一种关联数组类型,它将键与值对应起来。当我们需要遍历和删除map元素时,可以采用以下方法:

1. 遍历map元素

要遍历map中的元素,我们可以使用迭代器。C++中的迭代器是一种对象,它可以通过指针的方式访问序列中的元素。对于map,我们可以使用迭代器进行遍历。

下面是一个简单的示例,演示了如何遍历一个map并输出其键和值:


#include <iostream>

#include <map>

using namespace std;

int main() {

  map<string, int> my_map = { 1, "bar", "baz" };

  for (auto iter = my_map.begin(); iter != my_map.end(); ++iter)

    cout << iter->first << " : " << iter->second << endl;

  

  return 0;

}

输出:


bar : 2

baz : 3

foo : 1

2. 删除map元素

要从map中删除元素,我们可以使用erase()函数。erase()函数可以接受一个参数,即要删除的元素的迭代器,也可以接受两个参数,即要删除的元素的起始迭代器和结束迭代器。

下面是一个简单的示例,演示了如何从map中删除元素:


#include <iostream>

#include <map>

using namespace std;

int main() {

  map<string, int> my_map = { "foo", "bar", 3 };

  my_map.erase("bar");

  for (auto iter = my_map.begin(); iter != my_map.end(); ++iter)

    cout << iter->first << " : " << iter->second << endl;

  

  return 0;

}

输出:


baz : 3

foo : 1

以上就是在C++中遍历和删除map元素的方法。需要注意的是,删除map元素可能会使其他元素的迭代器无效。因此,在使用迭代器操作map时,务必小心谨慎。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复