通过引用传递const值

时间:2015-08-20 15:14:50

标签: c++ pointers reference constants

假设我有这个程序:

NonInterceptibleMenu

这将无法编译。我注意到名称(例如宽度)的常量值(也是枚举常量)不能通过引用传递。为什么会这样?

2 个答案:

答案 0 :(得分:11)

想象一下:

void test (int& j) { j++; }

如果test确实改变了引用的东西的值,显然我们不能用const参数调用它。如果它没有,为什么它通过非const引用来获取它的参数?

答案 1 :(得分:0)

通过引用传递允许我们更改实际对象。 如果对象定义为const,则无法更改。这正是const意味着 - 它是不变的。