什么是const int const&和const int&C++之间的区别?

xX_*_*_Xx 3 c++ pointers reference

在c ++中,我可以编写const int const*一个指向常量int的常量指针.我也可以写const int&一个const引用.那么是const int const&对const int的引用吗?

提前致谢!

Nat*_*ica 8

const int const*不是指向常量的常量指针int.为了得到你需要的

const int * const.
Run Code Online (Sandbox Code Playgroud)

在你的情况下,你应用两者const,int所以你有一个指向常量的可变指针int.

同样的事情发生了const int const&.要恒定引用int你需要的常量

const int & const
Run Code Online (Sandbox Code Playgroud)

但那是违法的.

请注意,在这两者中const int const*,const int const&这样做const两次实际上并不合法.


Som*_*ken 5

那么const int const&是对const int的引用吗?

不,那是编译错误

尝试编译如下内容:

int z = 0;
const int const& a= z;
Run Code Online (Sandbox Code Playgroud)

然后您会看到编译器会对您大吼大叫。

您不能复制const同一类型。您const int const*作为常量常量指针的前提int也是错误的。

  • 然后,您应该对编译器大喊大叫,而不是对您大吼大叫。 (2认同)