"const int&jj"和"int&const jj"有什么区别?

use*_*567 6 c++ const reference language-lawyer

我对这两个感到困惑.我知道C++引用本身就是常量,一旦设置它们就无法更改为引用别的东西.

son*_*yao 9

const int&意味着对const的引用int.(同样,int&意味着对非const的引用int.)

int& const字面意思是const引用(对于非const int),这在C++中是无效的,因为引用本身不能是const限定的.

$ 8.3.2/1参考文献[dcl.ref]

除非通过使用typedef-name([dcl.typedef],[temp.param])或decltype-specifier([dcl.type.simple])引入cv-qualifiers,否则Cv限定的引用是不正确的. ,在这种情况下,cv限定符被忽略.

如你所说,引用本质上是不变的,一旦设置它们就不能被改为引用别的东西.(我们不能在初始化后重新引用引用.)这意味着引用始终是"const",那么const限定引用或const不合格引用实际上可能没有意义.