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

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

作者: Caesar少校 | 来源:发表于2016-11-16 22:21 被阅读9次

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

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

相关文章

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

    如果实参与引用参数不匹配,C++将生成临时变量。当前,仅当参数为const引用时,C++才允许这样做。如果引用参数...

  • c++11 右值引用和完美转发

    右值引用起到的作用。就是在c++中返回临时变量时,通过右值引用的方式将临时变量的内存窃为己用。减少了构造函数的开销...

  • 第八章 函数探幽(2)引用变量

    (二)引用变量 1.引用变量的典型用途 是用作函数的形参,通过将引用变量用作参数,函数将传递变量的引用,从而可以...

  • 《C++ Primer Plus》:函数探幽

    本章内容概览 内联函数 引用变量 按引用传递函数参数 默认参数 函数重载 函数模板 内联函数 内联函数是C++为提...

  • c++引用类型作为函数形参

    所以,临时变量不能作为非const引用参数,不是因为他是常量,而是因为c++编译器的一个关于语义的限制。如果一个参...

  • 03_C++笔记_函数二

    函数指针: 内联函数: 引用 将引用变量作为参数(交换两个数的实现): 引用的属性和特别之处: 引用用于结构: 将...

  • c++变量的引用

    本文简单介绍c++变量的引用,在c++当中“引用”就是变量的别名,相当于给变量再起一个名字。 使用&符号来为a和b...

  • C++引用

    什么是引用 引用其实就是变量的别名,在C++中,它主要用作函数形参,于是函数可以修改传入参数的原始数据,而不在是数...

  • iOS底层-- weak修饰对象存储原理

    问题:为何weak修饰的变量可以打破循环引用?因为weak修饰的变量存储在散列表中的弱引用表里,不参与引用计数器的...

  • 带参数的宏

    带参数的宏 在某些情况下,使用带参数的宏可以在程序预处理阶段生成内联代码[1],避免由于函数调用带来的额外开销。而...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/oparpttx.html