返回静态成员变量c ++的引用

jer*_*tus 0 c++ static reference

返回静态成员变量的引用是否有任何问题?(参考避免复制成本)

Vector接受4个参数(x,y,z,w);

.H

class MyClass
{
private:
   static const Vector POS;
}
Run Code Online (Sandbox Code Playgroud)

的.cpp

const Vector MyClass::POS(100,300,0,0);

const Vector& MyClass::GetVector()
{
 return POS;
}
Run Code Online (Sandbox Code Playgroud)

Som*_*ude 6

如果POS声明了,static那么它的生命周期是程序的生命周期,因此返回对它的引用是安全的.

  • @buffo类没有生命周期.对象呢.和静态成员变量,但不是类. (2认同)
  • @buffo对,持续到全局对象被销毁.因此,如果您尝试从全局对象的析构函数中使用它,则可能会遇到麻烦. (2认同)