<分区>
我读到引用变量与原始变量共享相同的内存地址,但也会占用堆栈上的一些空间。 由于引用与原始变量具有相同的内存地址,因此也称为别名。
所以,我的问题是如何为引用变量分配内存?
标签 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/