对于模糊的标题,我们深表歉意。我正在开展一个需要一些C ++知识的项目。我不会学习C ++,也不必花时间阅读一本书。所以我希望有人能够给我一个起点来查找它。
以下是代码:
TurtlebotTeleop::TurtlebotTeleop(): ph_("~"), linear_(1),angular_(0){
ph_.param("axis_linear", linear_, linear_);
ph_.param("axis_angular", angular_, angular_);
ph_.param("axis_deadman", deadman_axis_, deadman_axis_);
ph_.param("scale_angular", a_scale_, a_scale_);
ph_.param("scale_linear", l_scale_, l_scale_);
}
我知道这段代码正在定义一种方法" TurtlebotTeleop"。但结肠后的那些东西":"?
非常感谢您的任何意见。
答案 0 :(得分:3)
它是一个构造函数初始化列表。它是初始化类的数据成员的语法。
“代码块”是TurtlebotTeleop
的默认构造函数的定义。 :
和{
之间的内容是该类的某些数据成员的初始化。一旦进入构造函数的主体(在{
和}
之间),所有数据成员都有一个值,无论你对它们做什么都是对现有实例的更改,而不是初始化
答案 1 :(得分:0)
该函数是您的类的构造函数,构造函数必须执行的操作之一是初始化类的每个成员。
单冒号之后的东西是初始化类成员的简短语法。因此,ph_将被设置为"〜"当这个构造函数运行时。