你們好,我是小魚,今天不講機器人,說一說編程語言。說的仍是作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
我是小魚,一名在職機器人算法工程師。
目前在作輸出、機器人算法註解、學習教程、工做經驗。
歡迎你們的關注。