C++ 字典

2024 年 8 月 29 日 | 4 分钟阅读

map 字典 类型是 C++ 的内置特性。它作为键索引值的容器,这意味着容器中的每个项目都与一个键关联。此外,C++ map 中的每个值都需要具有相同的类型。C++ map 中的值和键不需要具有相同的类型,但 map 中的所有键必须具有相同的类型。map 可以在 C++ 中使用,但它需要包含 C++ 标准库中的 map 头文件。map 的值可以在循环中迭代以找到匹配的键,每个迭代项代表一个键值对。

C++ 中字典的工作方式如下:

  • C++ 中存在一个名为 map 的字典类型,其功能类似于键索引值的容器。
  • 字典中的每个值都有一个键,也称为 map
  • C++ map 要求所有值和键都具有相同的类型;但是,并非所有值和键都必须具有相同的类型。
  • C++ 中的 map 必须在其头文件包含在 C++ 标准库中才能使用。
  • 可以在循环中迭代 map 的值以找到匹配的键;每个迭代项对应一个键值对。

1. 使用初始化列表构造函数在 C++ 中创建字典

使用带有键值对的初始化列表直接初始化字典。当您有一组预定义的键值对开始字典时,这可能很有用。它提供了在 C++ 中初始化和创建字典的清晰有效的方法。

编码

让我们举一个例子来说明如何在 C++ 中使用 Initializer List Constructor 创建字典。

输出

apple: 10
cherry: 15

2. 使用默认构造函数在 C++ 中创建字典

使用默认构造函数创建一个空字典,然后使用下标 operator[] 添加元素。此方法允许您根据需要扩展字典中的键值对。

编码

让我们举一个例子来说明如何在 C++ 中使用 default Constructor 创建字典。

输出

apple: 10
cherry: 15

3. 使用复制构造函数在 C++ 中创建字典

使用复制构造函数,在从另一个现有 map 变量接收输入后,您可以将键值对复制到新初始化的对象。这是创建新 map 对象的另一种方法。需要注意的是,此方法可以在程序执行的后期再次使用,并且不会移动当前 map 对象。

编码

让我们举一个例子来说明如何在 C++ 中使用 copy Constructor 创建字典。

输出

apple in new dictionary: 10
cherry in new dictionary: 15

4. 使用范围构造函数在 C++ 中创建字典

使用范围构造函数的一个优点是它提供了一种快速简便的方法来创建具有一组起始键值对的字典。如果希望使用其中已有的预定数据初始化字典,此方法特别有效。如果在创建时直接提供字典的内容,则可以帮助简化代码并使其更易于理解。

编码

让我们举一个例子来说明如何在 C++ 中使用 range-based Constructor 创建字典。

输出

apple: 10
cherry: 15