unordered_map初始化为-1
时间: 2023-11-24 15:51:31 浏览: 161
unordered_map 不能直接初始化为 -1,因为 unordered_map 的值类型必须是可默认构造的。但是可以使用 -1 作为默认值,然后在需要的时候将其替换为其他值。例如,可以使用以下代码初始化 unordered_map:
```c++
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<string, int> myMap;
string key = "example";
int defaultValue = -1;
myMap[key] = defaultValue;
cout << "Before: " << myMap[key] << endl;
myMap[key] = 10;
cout << "After: " << myMap[key] << endl;
return 0;
}
```
输出:
```
Before: -1
After: 10
```
相关问题
unordered_map 初始化
unordered_map的初始化方式有多种。可以使用默认初始化,也可以手动设置初始大小。使用默认初始化时,unordered_map会被初始化为空的容器。例如,在代码中使用unordered_map<int, int> occur;进行初始化时,occur会被初始化为空的unordered_map容器\[1\]。另外,也可以手动设置unordered_map的初始大小。但需要注意的是,不能像vector那样使用(size(), 0)进行手动初始化,因为unordered_map中的key是不能出现相同的。正确的方式是使用unordered_map的构造函数进行手动设置初始大小,例如unordered_map<int, int> occur(arr.size());\[1\]。这样就可以根据arr的大小来设置unordered_map的初始大小了。
#### 引用[.reference_title]
- *1* *2* *3* [map、unordered_map和vector的初始化和底层机理的差别](https://blog.csdn.net/mrqiuwen/article/details/127183780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
unorderedmap初始化-1
以下是unordered_map初始化为-1的示例代码:
```cpp
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<string, int> myMap;
myMap["example"] = -1;
cout << "The value of 'example' is " << myMap["example"] << endl;
return 0;
}
```
输出结果为:
```
The value of 'example' is -1
```
在这个示例中,我们首先定义了一个名为myMap的unordered_map对象,它的键类型为string,值类型为int。然后,我们将键"example"的值设置为-1,并使用cout语句输出该值。
阅读全文
相关推荐

















