用于引用的C++ const语义

nit*_*ian 4 c++ const reference semantics

如果代码中有类似的内容:

func(const base& obj)
Run Code Online (Sandbox Code Playgroud)

const语义是什么意思?这里有什么不变的?是obj a const reference to a non-const object还是a non-const reference to a const object

Gre*_*ill 5

obj对象引用const.

没有"非const引用"这样的东西,因为在创建引用后不能更改引用其他内容.

  • 任何对象(const或不是)都可以作为参数传递.但是,在函数`func()`中,对象的使用仅限于那些在`const`对象上有效的操作.所以调用者知道调用`func(obj)`不会改变`obj`. (3认同)

Tav*_*nes 5

没有"非const"引用这样的东西,也就是说,引用总是绑定到同一个对象,并且没有办法改变它."const type&"表示对const类型的引用.