溫馨提示×

c++中map erase的用法是什么

c++
小億
426
2024-03-04 14:56:37
欄目: 編程語言

在C++中,std::map 是一個關聯容器,它包含一組鍵-值對,其中鍵和值之間存在映射關系。erase() 函數用于從std::map中刪除指定的元素。

erase()函數有多種重載形式,其最常用的形式是刪除指定鍵對應的元素。示例如下:

std::map<int, std::string> myMap = {{1, "apple"}, {2, "banana"}, {3, "cherry"}};

// 刪除鍵為2的元素
myMap.erase(2);

除了刪除單個元素外,erase()函數還可以接受迭代器作為參數,用于刪除指定位置的元素。示例如下:

std::map<int, std::string> myMap = {{1, "apple"}, {2, "banana"}, {3, "cherry"}};

// 刪除第一個元素
auto it = myMap.begin();
myMap.erase(it);

值得注意的是,erase()函數返回一個指向已刪除元素之后位置的迭代器,可以用來進一步操作。如果需要刪除一定范圍內的元素,可以使用兩個迭代器指定范圍。示例如下:

std::map<int, std::string> myMap = {{1, "apple"}, {2, "banana"}, {3, "cherry"}, {4, "date"}, {5, "elderberry"}};

// 刪除鍵大于等于3小于等于4的元素
auto start = myMap.lower_bound(3);
auto end = myMap.upper_bound(4);
myMap.erase(start, end);

總的來說,erase()函數在std::map中用于刪除元素,可以根據鍵或迭代器刪除單個或一定范圍的元素。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女