要向 c++ 的 unordered_map 添加元素,可以使用以下两种方法:通过 emplace() 方法直接构造新元素。通过 [] 操作符查找或创建新元素并进行赋值。
unordered_map 添加元素
unordered_map 是 C++ 标准库中用于存储键值对的关联容器,它使用哈希表来实现快速查找和插入。要向 unordered_map 中添加元素,可以使用以下方法:
emplace() 方法
emplace() 方法直接在 unordered_map 中构造一个新的元素。它的语法为:
pair<iterator bool> emplace(const key_type& key, const mapped_type& value);</iterator>
其中:
- key 是要添加的键值对的键。
- value 是要添加的键值对的值。
emplace() 方法返回一个 pair,其中:
- first 是迭代器,指向新添加的元素。
- second 是布尔值,指示元素是否已成功添加。
[] 操作符
另一种向 unordered_map 中添加元素的方法是使用 [] 操作符。它的语法为:
mapped_type& operator[](const key_type& key);
其中:
- key 是要查找的键。
如果键在 unordered_map 中存在,[] 操作符将返回对该值的引用。如果键不存在,将创建一个新的键值对,其键为 key,值未定义。可以通过赋值运算符向新创建的元素分配值。
示例
以下示例演示了如何使用 emplace() 方法和 [] 操作符向 unordered_map 中添加元素:
#include <unordered_map>
int main() {
// 使用 emplace() 方法添加元素
std::unordered_map<:string int> my_map;
my_map.emplace("Apple", 1);
// 使用 [] 操作符添加元素
my_map["Orange"] = 2;
// 访问元素
std::cout </:string></unordered_map>