所以這是我的代碼段:如何做一個std ::地圖查找
std::map<int, std:string> tagMap = {{1, "data"},{2,"entry"},{3,"id"}}
....
/* ORIGINAL
for (auto& node: doca.child("data").children("entry")) {
const char* id = node.child_value("id");
mapa[id] = node;
}
*/
for (auto& node: doca.child(tagMap.find(1)).children(tagMap.find(2))) {
const char* id = node.child_value(tagMap.find(3));
mapa[id] = node;
}
我試圖用一個從地圖查找替換一個固定的定義。我不確定如何實現這一點,我的方法似乎沒有工作。我想知道是否有人可以告訴我正確的做法嗎?
嘿吉米,你能夠添加一些更多的上下文,也許更多的示例代碼來解決這個問題嗎?用上面的代碼來理解你想要做什麼並不容易(並且它可能就像改變變量名以便正確對齊+少量更多上下文一樣簡單) – SJoshi
'std :: map :: find'返回一個迭代器。我猜這不是你想要的。 – SiggiSv
@SJoshi其餘的代碼有點破碎,所以可能會讓事情混淆。我目前有評論的代碼,但它具有硬編碼映射到標籤名稱。它下面的代碼是我想要做的,相同的代碼,但用地圖查找來獲得值。 – Jimmy