C++ 引用是否存储在堆或堆栈上?

C++ 引用是否存储在堆或堆栈上?,c++,memory-management,reference,C++,Memory Management,Reference,我想知道该代码中的c等参考变量是否: int a = 5; int & c = a; 从堆或堆栈中分配。 有人能帮忙吗?谢谢引用只是一个别名,C++11标准没有规定它是否需要实际存储 根据C++11标准第8.3.2/4段: 未指定引用是否需要存储(3.7) 引用只是别名,不必特别分配到任何地方。标准没有规定这种细节,甚至不要求引用有任何存储。没关系,引用只是一个常量,自动取消引用指针,没有指针算法,也没有空值或不确定值选项 关于重新表述的问题——引用的使用方式意味着它们大部分是堆栈分配

我想知道该代码中的
c
等参考变量是否:

int a = 5;
int & c = a;
从堆或堆栈中分配。
有人能帮忙吗?谢谢

引用只是一个别名,C++11标准没有规定它是否需要实际存储

根据C++11标准第8.3.2/4段:

未指定引用是否需要存储(3.7)


引用只是别名,不必特别分配到任何地方。标准没有规定这种细节,甚至不要求引用有任何存储。

没关系,引用只是一个常量,自动取消引用指针,没有指针算法,也没有空值或不确定值选项


关于重新表述的问题——引用的使用方式意味着它们大部分是堆栈分配的。这是在所有非静态场景中,它们的存储不能忽略。这就是C++,一种高性能的编程语言,它省略了没有被使用的任何东西。

< p>大多数编译器认为引用是受限指针。

那么,你的意思是答案是未知的?@亚辛拉尔克:我宁愿说答案是无关的。在大多数情况下,我相信根本不会分配任何存储:引用只是一个别名,而不是一个保存内存地址(如指针)的变量。@YasinRazlık回答说这无关紧要。引用不是对象。这就解决了所有问题