引用是否具有存储位置,或者仅仅是另一个位置的别名?这在C++修订版中是否有所不同,或者是否与C++的所有版本都一致?并且,如果引用具有存储位置,那么它是否只允许在像类型的指针上使用值语义?

像这样使用引用如何工作:

struct aStruct{
   int aVariable;
   aClass& aReferencetoaClass;
};

它会占用空间还是别名?

最佳答案

latest C++20 spec(第9.2.3.3节),至少从C++ 2005 draft spec状态开始:



实际实现情况视具体情况而定。显然,如果类具有单个成员变量,则该成员变量是需要存储在某处的引用。但是,正如您所说的,编译器还有余地何时仅将引用用作别名。

关于c++ - 引用是否有存储位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56836507/

10-13 07:23
查看更多