我在c ++中修改ROS(机器人操作系统)程序
我希望按钮的功能可以改变。 读取按钮状态的行是:
joy->buttons[LB];
joy->buttons[RB];
从我的配置文件中我得到一个字符串,表示" LB"或" RB"。 现在我的问题是: 如何让String读取按钮状态? 我的想法是:
joy->buttons["LB"] so that my line will be joy->buttons[myString];
这是否有效?
答案 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];