c++ - C++ 中的引用变量存储什么值?

标签 c++

一个指针存储/分配一个内存地址;

引用变量呢?

它像 Stack 上的任何其他非指针简单变量一样存储对象的实际值?

谢谢!

最佳答案

引用本身不包含任何内容。 C++ 标准甚至声明不需要实现为引用分配任何存储空间。它实际上只是它引用的对象或函数的别名。尝试获取引用的值将获取它引用的对象或函数的值(在这种情况下,您将获得一个函数指针,就像您尝试使用其原始名称从函数中获取值一样),相反。

当然,当您进入较低级别并查看汇编代码时,引用就像指针一样。但在语言层面,他们是完全不同的野兽。例如,对 const 的引用可以绑定(bind)到临时对象,它们需要实现复制构造函数以重载运算符,并且不能将它们放入数组中(即使你初始化它的所有元素也不能),因为引用不是对象(与指针相反)。它们是引用类型,尽管听起来可能微不足道。

关于c++ - C++ 中的引用变量存储什么值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/412084/

相关文章:

c++ - 与第三方公共(public)图书馆/代码接口(interface)

c++ - 查找 For 循环数组 C++ 中最大和最小值的值

c++ - 只能检查我的数组的第一个元素

C++ 在编译时获取对象类型,例如 numeric_limits<typeof<a>>::max()?

c++ - 菜单结构和循环

c++ - 保持指向容器项的单独指针

c++ - 在不同的线程中创建 QApplication

c++ - 在 Windows 中通过 RPC 发送 UDT

c++ - 重载 ostream&<< 以与类相反的顺序输出 vector

c++ - VS2013 编译器 : 'CObject::CObject' : cannot access private member declared in class 'CObject'