什么是C++中的引用变量?

sir*_*79m 27 c++ variables reference

C++中引用变量的简要定义是什么?

CB *_*ley 19

参考是对于另一个的别名的实体对象.

参考不是变量作为变量仅由一个的声明引入对象.一个对象是存储的一个区域,并且在C++中,引用不(一定)占用任何存储.

由于对象引用是C++中不同的实体组,因此术语"引用变量"没有意义.

  • 好吧,不是*还是变量.很好,C++ 0x修复了 - 这是标准中一个长期存在的问题.请参阅http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#633并查看n3090,它已经被纳入FCD.无论如何,要完成,你可以提到引用也可以引用函数.+1技术准确度:) (5认同)
  • 从 C++11 开始,*变量* 表示引用或对象。请参阅 C++14 中的 [basic]/6 例如:“*变量* 是通过声明非静态数据成员或对象的引用引入的。变量的名称(如果有)表示该引用或反对。” (3认同)

小智 14

引用变量为先前定义的变量提供别名(替代名称).例如:

float total=100;
float &sum = total;
Run Code Online (Sandbox Code Playgroud)

这意味着这两个totalsum是相同的变量.

cout<< total;
cout << sum;
Run Code Online (Sandbox Code Playgroud)

两者都会给出相同的价值100.这里&运营商不是地址运营商; float &表示浮动的引用.


aJ.*_*aJ. 10

引用变量是对象的别名(备用名称).[来自C++ FAQ].

  • 伟大的常见问题,"尽可能使用参考,并在必要时使用指针." (5认同)

Dan*_*llo 6

维基百科文章的第一段可以很容易地作为一个简短的定义:

在C++编程语言中,引用是一种简单的引用数据类型,它比从C继承的指针类型更不强大但更安全.

引用同一篇文章:

C++引用在几个基本方面与指针不同:

  • 定义后,无法直接引用参考对象; 任何出现的名称都直接引用它引用的对象.

  • 一旦创建了引用,就不能在以后引用另一个对象; 它不能重新安置.这通常用指针完成.

  • 引用不能为null,而指针可以; 每个引用都指某个对象,尽管它可能有效也可能无效.

  • 参考文献不能未初始化.由于无法重新初始化引用,因此必须在创建引用后立即初始化它们.特别是,必须在定义它们的地方初始化局部变量和全局变量,并且必须在类的构造函数的初始化列表中初始化作为类实例的数据成员的引用.

进一步阅读:

  • 维基百科不是非常权威的资料。 (2认同)

Jon*_*han 2

引用变量允许两个变量名寻址同一内存位置:

int main()
{
    int var1;

    // var2 is a reference variable, holds same value as var1

    int &var2 = var1;
    var1 = 10;

    std::cout << "var1 = " << var1 << std::endl;
    std::cout << "var2 = " << var2 << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

资源:链接