引用是否具有存储位置,或者仅仅是另一个位置的别名?这在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/