std::unordered_map<string, tuple<int, vector<int>>> combos;
我想檢索元組中的專案并增加或設定它們的值。例如
if(v_intersection.size()==5){
string stringval = join(v_intersection, ",");
if (combos.find(stringval) == combos.end()) // if key is NOT present already
{
combos[stringval]get<0>(combos[stringval]) = 1; // initialize the key with value 1
}
else
{
combos[stringval] ; // key is already present, increment the value by 1
}
}
我想將int(元組的第一個引數)設定為 1,并在需要時將其增加 1。
它不在 for 回圈中,而是在 if 條件子句中。
怎么做?
我試過combos[stringval]get<0>(combos[stringval]) = 1; 但它不作業。
如果我想在該地圖的矢量內添加專案怎么辦?怎么做?
此外,如果您對如何使用除帶有元組的嵌套地圖以外的其他方法來執行此操作有任何想法,請給我您的建議。
先感謝您!
不重復,請查收。有一些主題,但要求的不是以元組作為值的嵌套映射。
uj5u.com熱心網友回復:
std::get(std::tuple)是一個以元組為引數的自由函式。所以你必須這樣稱呼它:get<INDEX>(some_tuple).
知道這一點,回答你的問題只是將元組從映射傳遞到該函式的問題。
我想將int(元組的第一個引數)設定為1
std::get<0>(combos[stringval]) = 1;
并在需要時將其增加 1。
std::get<0>(combos[stringval]) ;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/484071.html
上一篇:C#Matrix4x4等效于DirectX::XMMatrixPerspectiveLH
下一篇:VSCode-回圈自動完成
