在某些情况下,实参与引用参数不匹配,C++将生成临时变量

如果实参与引用参数不匹配,C++将生成临时变量。当前,仅当参数为const引用时,C++才允许这样做。
如果引用参数是const,则编译器将在下面两种情况下生成临时变量:
• 实参的类型正确,但不是左值;
• 实参的类型不正确,但可以转换成正确的类型;

左值是什么呢?
左值参数是可被引用的数据类型,例如,变量、数组元素、结构成员、引用和解除引用的指针。非左值包括字面常量(用引号括起的字符串除外,他们由其地址表示)和包含多项的表达式。
现在,常规变量和const变量都可视为左值,因为可通过地址访问他们。但常规变量属于可修改 的左值,而const变量属于不可修改的左值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,153评论 1 51
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,470评论 1 10
  • const 引用 const 引用是指向 const 对象的引用:const int ival = 1024;co...
    rogerwu1228阅读 3,860评论 0 1
  • 今天是2017年5月25日,距离中考还有19天。亲爱的死党,我好想你,你还记得我们曾经一起异想天开吗? 你告知...
    以楠儿阅读 2,744评论 0 0
  • 最近《我的前半生》热播,唐晶、子君和贺函引发了吃瓜群众一波又一波的讨论。罗子君、“抢闺蜜男友”、“绿茶婊”、“小三...
    我想像一阵风阅读 1,288评论 0 1

友情链接更多精彩内容