方法参数中的const * const

时间:2012-12-12 06:02:50

标签: c++ syntax const

以下函数定义的论证中的2个含义是什么意思?

void myFunction (MyClass* const* const myObj);

2 个答案:

答案 0 :(得分:3)

从右到左阅读:

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

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

答案 1 :(得分:1)

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

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

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