📅  最后修改于: 2023-12-03 15:24:27.295000             🧑  作者: Mango
在C++中,可以使用map
容器来存储一对一的映射。有时候需要从地图中删除最后一个元素,本文将介绍两种方法来实现这个目的。
map
容器提供了一个erase()
函数来删除指定的元素,可以使用以下代码来实现删除最后一个元素的功能:
#include <map>
int main()
{
std::map<int, int> myMap = {{1, 10}, {2, 20}, {3, 30}};
myMap.erase(--myMap.end());
return 0;
}
在以上代码中,--myMap.end()
可以得到最后一个元素的迭代器,而erase()
函数将删除这个迭代器指向的元素,即删除了最后一个元素。
rbegin()
和rend()
函数分别返回一个反向迭代器,可以用于从后往前遍历map
容器。可以使用以下代码来实现删除最后一个元素的功能:
#include <map>
int main()
{
std::map<int, int> myMap = {{1, 10}, {2, 20}, {3, 30}};
myMap.erase(std::prev(myMap.end()));
return 0;
}
在以上代码中,std::prev(myMap.end())
可以得到最后一个元素的迭代器,而erase()
函数将删除这个迭代器指向的元素,即删除了最后一个元素。
以上就是从map
容器中删除最后一个元素的两种方法。可以根据具体情况选择适合的方法来实现。