Oldukça tuhaf:Harita neden <bool,int> m = {{1,2}, {3,4}, {5,0}}; boyut 1 değil 3?
map<bool,int> mb={{1,2},{3,4},{5,0}};
cout << mb.size();
map<int,int> mi={{1,2},{3,4},{5,0}};
cout << mi.size();
baskılar
üzerinden 13
Oldukça tuhaf:Harita neden <bool,int> m = {{1,2}, {3,4}, {5,0}}; boyut 1 değil 3?
map<bool,int> mb={{1,2},{3,4},{5,0}};
cout << mb.size();
map<int,int> mi={{1,2},{3,4},{5,0}};
cout << mi.size();
baskılar
üzerinden 13
std::map
eşsiz-anahtarıdır. 1
, 3
, 5
tüm verim bool
'a dönüştürüldüğünde tüm verim true
.
Sadece bir tahmin, ama ilk haritada bool
anahtar türünde ve tüm değerler 1, 3 and 5
doğru olarak değerlendirilmiştir.
Yalnızca aynı girişi yeniden yazdınız.
İlk harita anahtar olarak boole sahiptir. Sadece iki boole değeri vardır. Girdi olarak girdi sağlarsınız. 0 olmayan ints doğru ve 0 ints yanlıştır. Tüm anahtarların bu yüzden doğru. Sonuncusundan iki tanesinin üzerine yazılmıştır. Bu nedenle boyut 1'dir.
doh, zaman aşımı geçtiğinde kabul eder – NoSenseEtAl