![](/img/trans.png)
[英]Find a value of an element in vector in a std::map < int , std::vector <int >>
[英]Short function to insert into a std::map<int, std::vector<int>>
我發現自己經常處於編寫以下代碼的情況:
std::map<int, std::vector<int>> dict;
void insert(int key, int val) {
if (dict.find(key) == dict.end()) {
dict[key] = std::vector<int>();
}
dict[key].push_back(val)
}
編寫這個插入函數是否有一種不那么冗長的方式(在C ++ 11中)?
我不認為你的函數特別冗長,但在這種情況下它可以簡單地用dict[key].push_back(val)
代替,因為map上的operator[]
默認構造值,如果它不存在的話。 你不需要if
塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.