我有一個接受字符串的地圖,它返回一個整數。我希望地圖實例的整數初始化爲0.我該怎麼做?例如:如何給地圖賦予默認值?
std::map<std::string, int> x;
我希望所有的整數被初始化爲0作爲他們的出發點。我該怎麼做呢?
我有一個接受字符串的地圖,它返回一個整數。我希望地圖實例的整數初始化爲0.我該怎麼做?例如:如何給地圖賦予默認值?
std::map<std::string, int> x;
我希望所有的整數被初始化爲0作爲他們的出發點。我該怎麼做呢?
只需訪問某個鍵將默認初始化其相應的值。對於int
,即相當於將其設置爲0:
x["foo"];
雖然,說實話,它會更容易閱讀爲x["foo"] = 0;
。
事情是我不知道'foo'是什麼。它由用戶輸入。但我想這解決了我的問題。謝謝。 – 2013-03-23 23:37:54
@MemyselfandI如果你不知道密鑰是什麼,你的地圖裏沒有任何值。值與鍵相關聯。如果有N個密鑰,則有N個值。 – 2013-03-23 23:38:43
它不是值 - 初始化值?它插入'T()'。據我所知,默認初始化的int是未初始化的,比如這裏:struct S {int i;} s; //s.i=?' – chris 2013-03-24 01:39:27
它們隱含地爲0.當你訪問一個以前沒有插入過的密鑰時,它將被初始化爲0.所以,例如'x [someKey] ++'會在指定的密鑰存儲'1'以前不存在。 – leemes 2013-03-23 23:58:08