Array-> field [name]或Array-> field [" name"]

时间:2015-07-14 10:08:38

标签: c++ string

我在c ++中修改ROS(机器人操作系统)程序

我希望按钮的功能可以改变。 读取按钮状态的行是:

joy->buttons[LB];
joy->buttons[RB];

从我的配置文件中我得到一个字符串,表示" LB"或" RB"。 现在我的问题是: 如何让String读取按钮状态? 我的想法是:

joy->buttons["LB"] so that my line will be joy->buttons[myString];

这是否有效?

1 个答案:

答案 0 :(得分:4)

它不适用于仅使用数字索引的本机数组。但是,您可以使用像std::map这样的容器,它可以像associative array一样工作。

或者您可以将字符串翻译为数字索引:

int index;
if(myString == "LB")
    index = 0;
else if(myString == "RB")
    index = 1;
// else: set default value!

joy->buttons[index];
相关问题