2 congrashino Congrashino 于 2014.12.10 22:40 提问

C++中这种表达方式什么意思?

下面这句中作用域::后面接HAL& hal = AP_HAL_BOARD_DRIVER;,这里面的&
是什么意思?

 const AP_HAL::HAL& hal = AP_HAL_BOARD_DRIVER;

6个回答

91program
91program   Ds   Rxr 2014.12.11 07:46
已采纳

HAL 是 AP_HAL 的一个成员。
所在 :: 的作用是作用域声明。

& 是 C++ 标准的定义类型吧:引用。

Congrashino
Congrashino   2014.12.10 22:48

补充一点:AP_HAL是一个namespace,HAL是namespace AP_HAL中的一个class

billy0920
billy0920   2014.12.10 22:44

貌似是引用,定义一个const变量,变量类型是 A_P__HAL::HAL,引用参数AP_HAL_BOARD_DRIVER_

Congrashino
Congrashino 非常感谢
大约 3 年之前 回复
eagleyan
eagleyan   Rxr 2014.12.11 05:34

hal 的类型是AP_HAL::HAL的常量引用,回首撒哈拉 对AP_HAL::HAL已经解释过了

wylblq
wylblq   2014.12.11 09:02

是引用的意思,引用有些像C/C++里的指针,但是比指针可读性要好,而且必须初始化时赋值,赋值后不能再引用其他变量。定义hal为const引用类型的好处是作为参数传递时不用创建临时变量,节省了一个AP_HAL::HAL对象的构造和析构时间。AP_HAL不一定是命名空间,也可能是类、结构等。

Congrashino
Congrashino 非常感谢
大约 3 年之前 回复
wylblq
wylblq   2014.12.11 09:02

是引用的意思,引用有些像C/C++里的指针,但是比指针可读性要好,而且必须初始化时赋值,赋值后不能再引用其他变量。定义hal为const引用类型的好处是作为参数传递时不用创建临时变量,节省了一个AP_HAL::HAL对象的构造和析构时间。AP_HAL不一定是命名空间,也可能是类、结构等。

Congrashino
Congrashino 非常感谢
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!