为了账号安全,请及时绑定邮箱和手机立即绑定

如何创建一个全局的、可变的单例?

如何创建一个全局的、可变的单例?

如何创建一个全局的、可变的单例?在系统中创建和使用只有一个实例化的结构的最佳方法是什么?是的,这是必要的,它是OpenGL子系统,对此进行多次复制并将其传递到任何地方都会增加混乱,而不是缓解它。单身人士必须尽可能有效率。似乎不可能在静态区域中存储任意对象,因为它包含Vec有个破坏者。第二个选项是在静态区域上存储一个(不安全)指针,指向分配给单例的堆。做这件事最方便和最安全的方法是什么,同时保持语法简洁。
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

经过很长时间的思考后,我确信不使用Singleton,而是不使用全局变量,并传递所有内容。使代码更自文档化,因为很清楚哪些函数访问呈现程序。如果我想换回单身人士,那就比其他人更容易做到。

查看完整回答
反对 回复 2019-06-17
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

总会有一些需要单例的理由,但在许多情况下使用它是不必要的。在不了解代码的情况下,C应用程序可能允许每个模块返回“用户数据”void *然后传递回每个模块的方法。这是C代码的典型扩展模式。如果应用程序不允许这样做,并且您不能更改它,那么是的,单例可能是一个很好的解决方案

查看完整回答
反对 回复 2019-06-17
  • 3 回答
  • 0 关注
  • 784 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信