C++之map的介绍
1。定义和初始化
map可以使用一对<key, value>来初始化,如下所示:
std::map<int, std::string> my_map = { {1, "one"}, {2, "two"}, {3, "three"} };
这将创建一个map,其中键是整数,值是字符串。
2. 插入元素
可以使用insert成员函数向map中插入元素。例如:
my_map.insert(std::pair<int, std::string>(4, "four"));
或者使用初始化列表:
my_map.insert({4, "four"});
还可以使用operator[]或at成员函数来插入元素,但这会在键不存在时自动插入默认值。例如:
my_map[5] = "five"; // 插入新元素,键为5,值为"five"
my_map[6] = "six"; // 插入新元素,键为6,值为"six"
3.访问元素
可以使用operator[]或at成员函数来访问map中的元素。例如:
std::cout << my_map[1]; // 输出"one"
std::cout << my_map[2]; // 输出"two"
注意:如果使用operator[]访问不存在的键,它会自动在map中插入一个新元素,键为所访问的键,值为默认值。如果使用at函数访问不存在的键,它将抛出std::out_of_range异常。
4. 删除元素
可以使用erase成员函数删除map中的元素。例如:
my_map.erase(2); // 删除键为2的元素
还可以使用clear成员函数清除所有元素:
my_map.clear();
5.查找元素
可以使用find成员函数来查找map中的元素。例如:
auto it = my_map.find(3); // it指向键为3的元素
if (it != my_map.end()) { // 如果找到了元素,it指向该元素,否则it指向end()位置 std::cout << it->first << ": " << it->second << std::endl; // 输出"3: three"
} else { //没找到
}