Fel*_*ano 12 c++ const operators
为此道歉,我是一名学生正在努力学习C++,我只是觉得如果我问这个问题并且对此有很多正确的看法会更好,所以我很抱歉提出愚蠢的问题.我只是觉得问题比不知道更好.
我分别理解地址运算符&和const关键字的含义.但是,当我在阅读某个地方的示例代码时,我看到const&使用了,只是想要暗示的是什么?
它用于代替函数原型中的参数,例如:
void function (type_Name const&);
Run Code Online (Sandbox Code Playgroud)
如果只使用其中一个我会理解,但我在这里有点困惑所以一些专业的见解会很棒.
Die*_*ühl 21
C++中的类型从右到左阅读.这是不方便的,我们喜欢阅读单个单词的相反方向.但是,在尝试确定哪些限定符符合const或volatile适用时,将限定条件始终放在右侧使得更容易阅读类型.例如:
int* const是const指向[非const] 的指针intint const*是const指向a的[非]指针const intint const* const是const指向a的指针const int然而,对于历史上任何不幸的事故,发现允许顶层const写在左边是合理的,即,const int并且int const绝对等同.当然,尽管在const类型的右侧有明显正确的位置,使其易于阅读类型以及具有一致的位置,但许多人认为顶层const应该写在左侧.
在这种情况下,&不是运营商的地址.
void function (type_Name const&);
Run Code Online (Sandbox Code Playgroud)
相当于:
void function (const type_Name &);
Run Code Online (Sandbox Code Playgroud)
这只不过是函数的原型而是通过const引用来论证.你应该自己研究这类话题,最好是从一本好书中学习.但是,如果您正在寻找其他材料,这些问题也可能对您有所帮助:
C++中指针变量和引用变量之间有什么区别?
指针与参考,何时使用引用与指针,在C++中通过引用/值传递