1. 将Subscriber类作为类中成员变量

在类中使用ros::Subscribe需要参考以下格式:kNH->subscribe("话题", 1, &类::回调函数, this)

2. 节点句柄

2.1 放于main()函数中

如果将节点句柄的构造放于main()函数中,那么需要通过构造函数的参数接口传入类中,过于冗余

2.2 作为类的成员变量

在构造函数中,如果需要通过调用节点句柄param方法获取参数并传入基类的构造函数时,会出现问题。因为基类的构造函数是先于子类成员的初始化的,所以在进行基类构造的时候节点句柄还未初始化,无法获取正确的参数

2.3 作为全局变量

如果将节点句柄的构造作为全局变量,会导致节点句柄的构造先于节点初始化,出现报错

2.4 作为全局智能指针

将节点句柄的构造作为全局智能指针,并初始化为空指针,在main()函数中节点初始后为智能指针赋值,实现延迟加载