繁体   English   中英

在这段代码中冒号“:”的含义和用法是什么?

[英]What's meaning and usage of the colon “:” in this chunk of code?

抱歉,标题含糊。 我正在做一个需要一些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”。 但是在冒号“:”之后是什么?

非常感谢您的投入。

这是一个构造函数初始化列表。 它是用于初始化类的数据成员的语法。

“代码块”是TurtlebotTeleop的默认构造函数的TurtlebotTeleop :{之间是该类的某些数据成员的初始化。 一旦进入构造函数的主体(在{}之间),所有数据成员都将具有值,并且对它们执行的任何操作都是对现有实例的更改,而不是初始化。

该函数是您的类的构造函数,构造函数必须做的一件事就是初始化类的每个成员。

单个冒号后面的内容是用于初始化类成员的简短语法。 因此,当此构造函数运行时,ph_将设置为“〜”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM