c++ - 引用变量是否占用内存?

标签 c++

<分区>

我读到引用变量与原始变量共享相同的内存地址,但也会占用堆栈上的一些空间。 由于引用与原始变量具有相同的内存地址,因此也称为别名。

所以,我的问题是如何为引用变量分配内存

最佳答案

8.3.2 引用文献§4

It is unspecified whether or not a reference requires storage

也就是说,如果引用需要存储空间,它通常需要与指针一样多的存储空间:

struct P
{
    int* p;
};

struct R
{
    int& r;
};

static_assert(sizeof(P) == sizeof(R), "sizeof(P) == sizeof(R)");

关于c++ - 引用变量是否占用内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29322688/

相关文章:

c++ - 为什么不使用 "new"运算符创建的对象得到相同的地址

c++ - 为什么当返回类型为const时可以修改返回值?

c++ - 如何拦截 I/O 端口访问以实现硬件虚拟化

c++ - 如何通过在运行时编辑文件来设置窗口属性?

c++ - CMake 找不到生成的 Visual Studio 15 2017 实例,但可以与 Visual Studio 16 2019 一起正常工作

C++友元类

c++ - 将局部对象复制到 vector

c++ - gperf 可以接受宏定义的关键字吗?

C++ 问题: "Error external ' C::C( )' referenced from C:\C++\CRP.OBJ"

c++ - std::unordered_map::insert 的重载