视频中关于DoSomething更改为静态函数的误区
来源:9-3 static和单例模式的实现
易萧
2022-08-18
此处报错与是不是静态没有关系,只是因为C++假定DoSomething函数可能会修改本对象的值,而getInstance()返回的却是一个const对象。
之所以可以调用静态函数,就是因为静态函数不隐含this,所以不会修改这个单例对象,去掉const或者将DoSomething变成const函数一样可以解决这个问题。
写回答
1回答
-
从语法上来说你说的对,但这是个单例设计模式的问题,这里的上下文环境并不需要成员函数的出现,更多强调的是静态对象和方法对于单例构造的作用。
012022-08-22
相似问题