函数声明中的C ++ const变量

时间:2011-05-02 19:25:21

标签: c++ reference const

  

可能重复:
  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的使用情况,我将不胜感激。

4 个答案:

答案 0 :(得分:3)

它们是相同的,只是从右到左阅读:

  

第一个例子:i是对常量整数的指针的引用。

     

第二个例子:i是对整数常量指针的引用。

const的放置只会改变指针两侧的内容。例如:

const int* i

表示:i是指向常量整数

的指针

int* const i

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

const正确性的最佳位置是 - C++ FAQ Lite

答案 3 :(得分:0)

他们都是一样的。

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