我想知道是否可以使用std::map
key:value元素初始化n
,其中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;
}
答案 0 :(得分: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;
}
}
key: 0 value: 1.5
key: 3 value: 2.7
key: 9 value: 1.9