网站怎么发邮件,商业网站是怎么做的,互联网行业分类,石家庄网站建设销售电话**2025 - 01 - 25 - 第 48 篇 【函数的使用】 作者(Author) 文章目录 earse() - 删除函数一. vector中的 erase1 移除单个元素2 移除一段元素 二. map 中的erase1 通过键移除元素2 通过迭代器移除元素 earse() - 删除函数
一. vector中的 erase
vector 是一个动态数组#x…**2025 - 01 - 25 - 第 48 篇 【函数的使用】 作者(Author) 文章目录 earse() - 删除函数一. vector中的 erase1 移除单个元素2 移除一段元素 二. map 中的erase1 通过键移除元素2 通过迭代器移除元素 earse() - 删除函数
一. vector中的 erase
vector 是一个动态数组erase 可以移除指定位置或指定范围的元素
1 移除单个元素
numbers.begin() 返回指向 vector 第一个元素的迭代器。numbers.begin() 2 指向索引为 2 的元素。erase 函数移除该元素后续元素会自动向前移动填补空位。
#include iostream
#include vectorint main() {std::vectorint numbers {1, 2, 3, 4, 5};// 移除索引为2的元素即数字3numbers.erase(numbers.begin() 2);for (int num : numbers) {std::cout num ;}std::cout std::endl;return 0;
}2 移除一段元素
erase 的第一个参数是起始位置第二个参数是结束位置不包含该位置的元素。这里移除了索引为 1 和 2 的元素。
#include iostream
#include vectorint main() {std::vectorint numbers {1, 2, 3, 4, 5};// 移除从索引1到索引3不包含索引3的元素numbers.erase(numbers.begin() 1, numbers.begin() 3);for (int num : numbers) {std::cout num ;}std::cout std::endl;return 0;
}二. map 中的erase
map 是一个关联容器存储键值对erase 可以通过键或迭代器移除元素。
1 通过键移除元素
传入要移除元素的键erase 会查找并移除该键对应的键值对。
#include iostream
#include mapint main() {std::mapchar, int myMap {{a, 1}, {b, 2}, {c, 3}};// 通过键 b 移除元素myMap.erase(b);for (const auto pair : myMap) {std::cout pair.first : pair.second std::endl;}return 0;
}2 通过迭代器移除元素
先使用 find 函数找到要移除元素的迭代器。若找到使用 erase 函数通过迭代器移除该元素。
#include iostream
#include mapint main() {std::mapchar, int myMap {{a, 1}, {b, 2}, {c, 3}};// 找到键为 b 的元素auto it myMap.find(b);if (it ! myMap.end()) {// 通过迭代器移除元素myMap.erase(it);}for (const auto pair : myMap) {std::cout pair.first : pair.second std::endl;}return 0;
}