c++map取值
时间: 2023-07-01 11:25:02 浏览: 166
C++ map使用
5星 · 资源好评率100%
在 C++ 中,可以使用 `std::map` 容器来建立一个键值对的映射,其中键和值可以是任何类型(但键必须可比较,即支持 `<` 运算符),可以通过键来访问对应的值。可以使用 `operator[]` 或 `at()` 成员函数来获取对应键的值,两者的差别在于,如果键不存在,`operator[]` 会自动插入一个默认值,而 `at()` 会抛出一个 `std::out_of_range` 异常。
以下是一个使用 `std::map` 的例子:
```cpp
#include <iostream>
#include <map>
int main() {
std::map<std::string, int> m;
m["apple"] = 3;
m["banana"] = 2;
std::cout << m["apple"] << '\n'; // 输出 3
std::cout << m.at("banana") << '\n'; // 输出 2
// 尝试访问不存在的键
std::cout << m["orange"] << '\n'; // 输出 0,因为默认值为 0
// std::cout << m.at("orange") << '\n'; // 抛出 std::out_of_range 异常
return 0;
}
```
在上面的例子中,我们首先定义了一个 `std::map` 对象 `m`,键的类型为 `std::string`,值的类型为 `int`。然后,我们使用 `operator[]` 和 `at()` 成员函数来添加键值对。最后,我们访问了三个键的对应值,其中 `"orange"` 键不存在,使用 `operator[]` 返回了默认值 0。
阅读全文