如何创建一个返回对该类对象的引用的静态方法?

Mod*_*ife 4 c++ static-methods reference declaration object

我正在进行涉及使用静态变量/方法的编程任务.这是要求之一,我不确定在标题中声明它并在类文件中定义它的正确语法:

"声明类的静态方法,返回类型是对类的对象的引用;将此方法命名为"instance"."

继承我宣布的声明:

static &Singleton instance();
Run Code Online (Sandbox Code Playgroud)

继承我的定义:

static &Singleton::Singleton instance(){
    static myObj;
    return myObj;
}
Run Code Online (Sandbox Code Playgroud)

我不认为这是正确的..任何人都可以确认/纠正我吗?谢谢!

Rei*_*ica 9

你得到它几乎是正确的.

宣言:

static Singleton& instance();
Run Code Online (Sandbox Code Playgroud)

定义:

Singleton& Singleton::instance() {
  static Singleton myObj;
  return myObj;
}
Run Code Online (Sandbox Code Playgroud)