共有 2 种向 stl 容器添加元素的方式:容器使用 push_back 和 emplace_back 添加元素,关联容器使用 insert 和 emplace 键值对插入元素。
如何在 C++ STL 容器中添加元素?
C++ 标准模板库 (STL) 提供了强大的容器类,用于存储和管理数据。添加元素到这些容器可以通过多种方式完成。本文将介绍使用 STL 容器添加元素的不同方法并提供实战案例。
容器类型
STL 提供了多种容器类型,包括以下内容:
- 容器: 例如 vector 和 list,它们按顺序存储元素。
- 关联容器: 例如 map 和 set,它们允许基于键值查找元素。
添加元素的方法
容器
向容器添加元素的方法包括:
- push_back: 添加元素到容器的末尾。
- emplace_back: 对容器创建一个新元素,避免不必要的复制。
- insert: 在特定位置插入元素。
关联容器
向关联容器添加元素的方法包括:
- insert: 将键值对插入容器中。
- emplace: 创建一个新元素并将其插入容器中。
实战案例
向 vector 中添加元素:
#include <vector>
int main() {
// 创建一个 vector
std::vector<int> numbers;
// 使用 push_back 添加元素
numbers.push_back(1);
numbers.push_back(3);
numbers.push_back(5);
// 使用 emplace_back 添加元素
numbers.emplace_back(7);
// 打印 vector
for (auto& number : numbers) {
std::cout << number << " ";
}
return 0;
}
向 map 中添加元素:
#include <map>
int main() {
// 创建一个 map
std::map<std::string, int> ages;
// 使用 insert 添加元素
ages["John"] = 25;
ages["Mary"] = 30;
// 使用 emplace 添加元素
ages.emplace("Bob", 35);
// 打印 map
for (auto& [name, age] : ages) {
std::cout << name << ": " << age << std::endl;
}
return 0;
}