(7)初始化和關閉roscpp節點

2021-08-04 04:40:47 字數 1066 閱讀 6920

ros與c++入門教程-初始化和關閉roscpp節點

說明:初始化

初始化節點

ros::init(argc, argv, "my_node_name");
ros::init(argc, argv, "my_node_name", ros::init_options::anonymousname);

其他形式的 ros::init(),不使用argc/argv,而是使用複雜的對映引數,例如: std::map和std::vector>.

初始化節點簡單的讀取命令列引數和環境找出這樣的節點名稱、命名空間和重對映。

初始化沒有連線到master主機,這需要在初始化後,再利用ros::master::check()或其他函式來檢查主機狀態。

初始化選項

ros::init_options::anonymousname

ros::init_options::norosout

訪問命令列引數

開始節點

ros::nodehandle nh;
關閉節點

測試關閉

while (ros::ok())

自定義訊號處理器

#include #include void mysiginthandler(int sig)

int main(int argc, char** argv)

{ ros::init(argc, argv, "my_node_name", ros::init_options::nosiginthandler);

ros::nodehandle nh;

// override the default ros sigint handler.

// this must be set after the first nodehandle is created.

signal(sigint, mysiginthandler);

視窗的初始化和關閉順序

1.程式初始化過程中呼叫createwindow,為程式建立了乙個視窗,做為程式的螢幕舞台。createwindow 產生視窗之後會送出wm create 直接給視窗函式,後者於是可以在此時機做些初始化動作 例如配置記憶體 開檔案 讀初始資料.2.程式活著的過程中,不斷以getmessage 從訊息...

直接初始化和複製初始化

關於這個問題,國內外都有許多爭論,但我至今未找到滿意的答案,至於為為什麼,這就是今天要說明的。可能大家都有看過c primer,我看的是第四版,中文版,英文水平不怎麼樣。其中第13章,描述說,複製建構函式可用於 1.根據另乙個同型別的物件顯式或隱式初始化乙個物件 2.複製乙個物件,將它作為引數傳遞給...

靜態初始化和例項初始化

父類單獨的效果 當父類單獨執行時,靜態初始化塊優先執行,然後是例項初始化塊,最後才是構造器 子類單獨效果 首先執行父類的靜態初始化塊和子類的初始化塊 優先執行靜態 然後執行父類的例項初始化塊和構造器,最後執行子類的例項初始化塊和構造器 父類子類效果1 父在前子在後 先將父類的物件例項出來後,進行子類...