📅  最后修改于: 2023-12-03 15:07:37.771000             🧑  作者: Mango
映射(Map)是一种关联容器,可以将键映射到值。一个键只能在Map中出现一次,但是你可以对不同键使用相同的值。在C++中,有多种方法可以初始化映射,这篇文章将为大家介绍其中的几种方法。
首先,我们可以用默认构造函数初始化一个空映射:
#include <map>
std::map<int, std::string> myMap;
这会构造一个名为myMap
的空映射,这个映射使用整数作为键,使用字符串作为值。
我们可以使用一个数组中的元素来初始化一个映射,例如:
#include <map>
#include <string>
const char* arr[] = { "apple", "orange", "banana" };
std::map<std::string, int> myMap;
for (int i = 0; i < 3; ++i) {
myMap[arr[i]] = i + 1;
}
这会构造一个名为myMap
的映射,这个映射使用字符串作为键,使用整数作为值。在这个例子中,我们使用for
循环遍历了数组arr
中的元素,将它们依次加入映射中。在这个例子中,键是arr
中的字符串,值是该字符串在arr
中的下标加上1。
我们可以使用花括号初始化列表来初始化一个映射。例如:
#include <map>
std::map<std::string, int> myMap = {
{"apple", 1},
{"orange", 2},
{"banana", 3}
};
这会构造一个名为myMap
的映射,这个映射使用字符串作为键,使用整数作为值。在这个例子中,我们使用了3个键值对来初始化映射。
我们也可以使用insert()
函数来向映射中添加元素。例如:
#include <map>
std::map<int, std::string> myMap;
myMap.insert(std::pair<int, std::string>(1, "apple"));
myMap.insert(std::make_pair(2, "orange"));
myMap.insert({3, "banana"});
这会构造一个名为myMap
的映射,这个映射使用整数作为键,使用字符串作为值。在这个例子中,我们使用了三种方法来向映射中添加元素,分别是使用std::pair
类型,使用std::make_pair()
函数,以及使用花括号初始化列表的方式。
以上是C++中几种常见的初始化映射的方式,程序员可以根据自己的需求来选择不同的方式。