提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
最近做一个项目,遇到了C++的引用合并,到底是怎么回事呢?我们一起来看看。
一、引用合并
如果你让引用指向某类型的引用,那么你得到的还是该类型的引用,而非特殊的引用的引用类型。简而言之就是说引用的引用还是引用,不是什么新类型,这一点至关重要。
例如:
using rr_i = int&&; //右值引用
using ir_i = int&; //左值引用
using rr_rr_i = rr_i&&; //int&& &&得到的类型是int&&
using ir_rr_i = rr_i&; //int&& &得到的是int&
using rr_ir_i = ir_i&&;//int& &&得到的是int&
using ir_ir_i = ir_i&;//int& & 得到的是int&
为什么会出现这样的结果呢?
记住下面的原则:
- 永远是左值优先
- 不管我们怎么做都无法改变左值引用绑定左值的事实
总结
还是蛮简单的,记住原则就不会搞错了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)