![]() |
1
2
代码有几个问题:
除此之外,我强烈建议你 avoid environment variables and singletons . 这两个都是“共享可变状态”的例子,可能导致很多混乱。单例,虽然它们出现在“设计模式”书籍中已经有很长一段时间了,但现在被理解为设计。 反模式 . 这是一种更灵活的方法,让您传递一个接口,只需实例化一次,而不是将它烘焙到它的api中。 例如,对于您的特殊情况,我建议如下:
然后,在以前使用singleton的任何类中,只需获取const printer&对象。打印到那个物体上。在其他地方,可以有条件地构造stringprinter(“singleton”)或stringprinter(“dotted”)。或者可能是那个接口的其他实例,尽管我建议使用 QSettings 或者使用某种配置文件代替环境变量,或者至少使用myapplicationname_样式而不是仅使用样式;换句话说,如果要使用环境变量路由,至少要限定其名称。 |
![]() |
2
1
这不是一个很好的错误信息。问题是编译器无法为构造函数调用生成代码,它还没有看到点式类的定义。C++编译器仍然是单程编译器。不能内联编写方法,必须移动它。
|
![]() |
3
0
我不明白这是怎么回事。此时:
虚线是不完整的类型。使用g++4.4.1,我得到:
你在用哪个编译器? |
![]() |
4
0
我得到的第一个错误是:
之后,下一个错误是:
“不完整类型的使用无效。” 如果使用forward声明,则必须将声明和实现分开,这样就可以在定义完类型之后执行需要完整类型的操作。 |
![]() |
S qasem · Android内存性能 7 年前 |
![]() |
R83nLK82 · 在单例设计模式上引发IOException 7 年前 |
![]() |
hal · 两个课程有什么区别?他们的工作方式不同吗? 7 年前 |
![]() |
Jaquarh · 如何在不使用DI的情况下实例化父类 7 年前 |
|
Deepanshu · 基于PHP的Web应用程序中的单例对象状态 7 年前 |
![]() |
dicle · 视图控制器中的依赖项注入 7 年前 |
![]() |
Kozuki · 如何在生产代码中考虑单例? 7 年前 |