2013-03-23 94 views
0

我有一個接受字符串的地圖,它返回一個整數。我希望地圖實例的整數初始化爲0.我該怎麼做?例如:如何給地圖賦予默認值?

std::map<std::string, int> x; 

我希望所有的整數被初始化爲0作爲他們的出發點。我該怎麼做呢?

+0

它們隱含地爲0.當你訪問一個以前沒有插入過的密鑰時,它將被初始化爲0.所以,例如'x [someKey] ++'會在指定的密鑰存儲'1'以前不存在。 – leemes 2013-03-23 23:58:08

回答

1

只需訪問某個鍵將默認初始化其相應的值。對於int,即相當於將其設置爲0:

x["foo"]; 

雖然,說實話,它會更容易閱讀爲x["foo"] = 0;

+0

事情是我不知道'foo'是什麼。它由用戶輸入。但我想這解決了我的問題。謝謝。 – 2013-03-23 23:37:54

+0

@MemyselfandI如果你不知道密鑰是什麼,你的地圖裏沒有任何值。值與鍵相關聯。如果有N個密鑰,則有N個值。 – 2013-03-23 23:38:43

+0

它不是值 - 初始化值?它插入'T()'。據我所知,默認初始化的int是未初始化的,比如這裏:struct S {int i;} s; //s.i=?' – chris 2013-03-24 01:39:27

相關問題