实现起来很简单,将构造函数设置为私有,拷贝构造等关闭然后提供一个静态接口返回实例即可
class A {
A() {}
A(const A&) = delete;
A& operator=(const A&) = delete;
public:
static A& get_val() {
static A a;
return a;
}
/*其它函数*/
};
注意点:
- 构造函数必须为私有
- 必须有静态接口返回静态对象
- 赋值函数关闭
微信扫一扫
实现起来很简单,将构造函数设置为私有,拷贝构造等关闭然后提供一个静态接口返回实例即可
class A {
A() {}
A(const A&) = delete;
A& operator=(const A&) = delete;
public:
static A& get_val() {
static A a;
return a;
}
/*其它函数*/
};
注意点:
相关推荐