方法参数中的 consst* 常量

const* const in method argument

本文关键字:常量 consst 参数 方法      更新时间:2023-10-16

以下函数定义参数中的 2 个常量意味着什么?

void myFunction (MyClass* const* const myObj);

从右到左阅读:

MyClass* const* const
   ^   ^   ^  ^ ^
   |   |   |  | 1
   |   |   |  |
   |   |   |  2
   |   |   3
   |   4
   5
A (1) 常量 (

2) 指针指向 (3常量(4) 指针指向MyClass换句话说,您无法更改指针,但MyClass实例仍然是可变的。

参数是指向对象的指针。

第一个const表示间接指针(作为*myObj访问的指针)无法更改。

第二个const没有任何用处,因为myObj是按值传递的,并且使函数的参数的本地副本const是没有意义的。