关于参考:函数声明中的C ++ const变量

C++ const variable in function declaration

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
What is the difference between const int*, const int * const, and int const *?

我试图理解const如何在函数参数中工作。void function(int const *&i);void function(const int *&i);有什么区别?如果您能举例说明它们的实现和i的用法,我将不胜感激。


它们是一样的,从右到左读:

First example: i is a reference to a pointer of a constant integer.

Second example: i is a reference to a pointer of an integer constant.

常量的位置只更改指针两侧的内容。例如:

const int* i

表示:i是指向常量整数的指针

鉴于int* const i

表示:i是指向整数的常量指针。


它们都是一样的。

它表示对指向const int的指针的引用。


保持正确性最好的地方是-C++ FAQ Lite。


这些声明是等效的。有关详细信息,请参阅此页。