什么是在类名后使用的&符号,如ostream&operator <<(...)?

Oma*_*mar 21 c++ pointers class operator-overloading addressof

我知道所有关于指针和&符号的意思是"地址",但在这种情况下它意味着什么?

另外,当重载运算符时,为什么通常用const声明参数?

Kyl*_*lsh 15

在这种情况下,您将返回对ostream对象的引用.严格认为&符号作为"地址"并不总是适合你.以下是C++ FAQ Lite中有关参考资料的一些信息.

就const来说,const正确性在C++类型安全性中非常重要,你可以尽可能多地做.FAQ中的另一帮助了这一点.const可帮助您避免与副作用相关的更改,在您可能没有预料到的情况下查找数据.


nat*_*han 7

根据&符号的上下文,它可能意味着2种不同的东西.你的具体问题的答案是它是一个参考,而不是"地址".它们是非常不同的东西.了解差异非常重要.

C++参考

使参数const的原因是为了确保它们不被函数改变.这保证了函数的调用者不会改变它们传入的参数.