如何进行std :: map lookup

时间:2015-04-22 13:59:26

标签: c++ c++11

所以这是我的代码的一部分:

new

我正在尝试用地图查找中的一个替换固定定义。我不确定如何实现这一点,我的方法似乎不起作用。我想知道是否有人能告诉我正确的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

以下是您正在尝试的建议,例如,这里是地图查找:

std::map<int, std::string> tagMap = {{1, "data"},{2,"entry"},{3,"id"}};
std::cout << tagMap[1] << std::endl;  // returns 'data'
std::cout << tagMap[2] << std::endl;  // returns 'entry'
std::cout << tagMap[3] << std::endl;  // returns 'id'

如果没有支持代码,我看不出doca是什么,所以这可能是我可以接受的。

for (auto& node: doca.child(tagMap[1]).children(tagMap[2])) {
    const char* id = node.child_value(tagMap[3]);
    mapa[id] = node;
}