0

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

void myFunction (MyClass* const* const myObj);
4

2 回答 2

3

从右到左阅读:

MyClass* const* const
   ^   ^   ^  ^ ^
   |   |   |  | 1
   |   |   |  |
   |   |   |  2
   |   |   3
   |   4
   5

一个(1) const (2) 指针指向一个( 3) const (4) 指针MyClass。换句话说,您不能更改指针,但MyClass实例仍然是可变的。

于 2012-12-12T06:10:24.993 回答
1

参数是指向对象指针的指针。

第一个const意味着间接指针(访问为 的指针*myObj)不能更改。

第二个const没有任何用处,因为myObj它是按值传递的,并且将函数的参数的本地副本设为 be 毫无意义const

于 2012-12-12T06:10:34.210 回答