我想知道是否可以初始化一个std::map带n键:value元素,其中n是预定义的(类似于数组初始化:) array[n].
我不知道这样的构造函数存在,std::map但我想我可以问以防万一.
或者可以做的是:
#include <iostream>
#include <map>
int main()
{
int n = 5;
std::map<int,double> randomMap;
for(int i = 0; i < n; ++i)
{
randomMap.insert({i,0.9});
}
for(auto j: randomMap)
{
std::cout<<"key: " << j.first <<"\tvalue: " << j.second << std::endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Cor*_*mer 11
当然,您可以使用初始化列表
int main()
{
std::map<int, double> randomMap {{0, 1.5}, {3, 2.7}, {9, 1.9}};
for (auto const& element : randomMap)
{
std::cout << "key: " << element.first << " value: " << element.second << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
key: 0 value: 1.5
key: 3 value: 2.7
key: 9 value: 1.9
Run Code Online (Sandbox Code Playgroud)