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

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

在系统中创建和使用只有一个实例化的结构的最佳方法是什么?是的,这是必要的,它是OpenGL子系统,对此进行多次复制并将其传递到任何地方都会增加混乱,而不是缓解它。

单身人士必须尽可能有效率。似乎不可能在静态区域中存储任意对象,因为它包含Vec有个破坏者。第二个选项是在静态区域上存储一个(不安全)指针,指向分配给单例的堆。做这件事最方便和最安全的方法是什么,同时保持语法简洁。


米琪卡哇伊
浏览 785回答 3
3回答

当年话下

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

慕桂英546537

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