你们好,我是小鱼,今天不讲机器人,说一说编程语言。说的仍是作ROS最经常使用的语言C++。算法
你们都有写过main函数,C++的main函数通常都有两个入口参数,这两个参数不知道你们深究过没有。编程
今天一位群友问小鱼这样一个程序:数组
#include
using namespace std;
void main(int argc,char *argv[])
{
std::cout<<argc<<endl;
}
复制代码
咱们这样运行markdown
rosrun xxxx 程序名字 参数A 参数B
复制代码
程序打印出来的结果显示编程语言
3
复制代码
你没有看错,就是输出了三个数,缘由其实很简单,你们修改一下代码,从新编译,就能够看到。函数
#include
using namespace std;
void main(int argc,char *argv[])
{
for(int i=0;i<argc;i++)
{
cout<<argv[i]<<endl;
}
}
复制代码
再次运行rosrun xxxx 程序名字 参数A 参数B
oop
程序名字 参数A 参数B
复制代码
因此咱们明白了,程序名字也算一个入口参数。学习
之后使用参数的时候必定要从第argv下标1开始取才行。spa
文末(原文连接)放一个福利。小智不彻底版的ROS2教程,还在编写中,须要的同窗能够收藏网址,里边的内容是一直在更新的哦!公众号后台回复ROS2
便可获取。code
我是小鱼,一名在职机器人算法工程师。
目前在作输出、机器人算法注解、学习教程、工做经验。
欢迎你们的关注。