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

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

 const AP_HAL::HAL& hal = AP_HAL_BOARD_DRIVER;

6个回答

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

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

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

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

Congrashino
回首撒哈拉 非常感谢
5 年多之前 回复

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

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

Congrashino
回首撒哈拉 非常感谢
5 年多之前 回复

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

Congrashino
回首撒哈拉 非常感谢
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐