std::map
'u n
anahtarıyla başlatmak mümkün olup olmadığını merak ediyorum: n
'un önceden tanımlanmış olduğu değer elemanları (dizi başlatmasına benzer bir şey: array[n]
).std :: haritasının n tuşları ile başlatılması mümkün mü?
Böyle bir kurucunun std::map
için var olduğunun farkında değilim, ancak her ihtimale karşı olabileceğimi düşündüm.
Alternatif Ne yapabiliriz ki geçerli:
#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;
}
Initializer liste yapıcısı – 911
Eğer' örneğin bir başlatıcı listesini kullanabilirsiniz bir şey gibi arıyor std :: harita randomMap (5, 0 .9); Bu mevcut değil. –
@black Tuşların böyle bir kurucu için her eleman için ne olmasını beklerdiniz? Anahtar, kullanıcı tanımlı bir sınıfsa ve yalnızca sayısal bir ilkel değilse ne olur? – CoryKramer