std::map []
时间: 2023-10-14 16:00:45 浏览: 89
MFC,C++,C语言 json转换成std::map源码,无需编译,无需关心引用位置,直接引用即可使用
在C++的std::map中,没有直接使用`[]`操作符来访问元素,因为`[]`操作符在std::map中执行的是插入操作。但是,可以使用`[]`操作符来访问std::map中的元素,并在元素不存在时插入一个新键值对。
下面是一个示例:
```cpp
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> map1;
// 使用[]操作符插入键值对
map1[1] = "apple";
map1[2] = "banana";
map1[3] = "orange";
// 使用[]操作符访问元素
std::cout << map1[1] << std::endl; // 输出: "apple"
std::cout << map1[2] << std::endl; // 输出: "banana"
std::cout << map1[3] << std::endl; // 输出: "orange"
// 使用[]操作符访问不存在的键,会插入新的键值对
std::cout << map1[4] << std::endl; // 输出: ""
// 使用[]操作符修改已存在的键的值
map1[4] = "grape";
std::cout << map1[4] << std::endl; // 输出: "grape"
return 0;
}
```
需要注意的是,使用`[]`操作符访问不存在的键时,会插入一个新的键值对,并将值初始化为默认值。在上面的例子中,当使用`map1[4]`访问不存在的键时,会插入键值对`(4, "")`,并输出空字符串。如果需要判断某个键是否存在,可以使用`std::map`的`find()`函数或`count()`函数进行查询。
阅读全文