视频中关于DoSomething更改为静态函数的误区

来源:9-3 static和单例模式的实现

易萧

2022-08-18

此处报错与是不是静态没有关系,只是因为C++假定DoSomething函数可能会修改本对象的值,而getInstance()返回的却是一个const对象。
之所以可以调用静态函数,就是因为静态函数不隐含this,所以不会修改这个单例对象,去掉const或者将DoSomething变成const函数一样可以解决这个问题。

写回答

1回答

quickzhao

2022-08-18

从语法上来说你说的对,但这是个单例设计模式的问题,这里的上下文环境并不需要成员函数的出现,更多强调的是静态对象和方法对于单例构造的作用。

0
1
易萧
非常感谢!
2022-08-22
共1条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程