如何分配和读取单例类的公共成员的值

问题描述 投票:0回答:1

我有一个由[[public成员作为单例访问的类:

class MySingleton{ public: static MySingleton& Instance(); int x; ... }
该类的访问方式如下:

MySingleton& MySingleton::Instance(){ static MySingleton instance; return instance; }

[当我尝试获取x的值时,我没有获得之前分配的值。我检查了打印。 

更改/获取x值的正确方法是什么?我应该使用setters / getters吗?还是我可以直接在作业中做?

谢谢大家

编辑:我对x进行了一次写入,如下所示:

MySingleton::Instance().x = 2;

当我尝试通过从不同的类(单线程)进行访问来获取x时,出现不一致的值:

int z = MySingleton::Instance().x;

c++ static singleton
1个回答
0
投票
静态MySingleton(尝试在此处添加'&')实例;
© www.soinside.com 2019 - 2024. All rights reserved.