zhuzichu520 / FluentUI

FluentUI for QML
MIT License
3.16k stars 422 forks source link

Use more elegant singleton and fix spell bug. #392

Closed mentalfl0w closed 6 months ago

mentalfl0w commented 6 months ago

1.SINGLETONG宏定义应该是一个错误拼写,更正为SINGLETON 2.几个单例模式需要去除的函数Qt自带宏定义,可以简写为Q_DISABLE_COPY_MOVE 3.用Qt自带的线程锁代替标准库锁,以提高与Qt库的兼容性

mentalfl0w commented 6 months ago

HIDE_CONSTRUCTOR宏定义因为代码中没有实际应用,就按照单例模式的想法改了,如果只是单纯隐藏构造函数,不需要修改此处定义。

mentalfl0w commented 6 months ago

DCLP在C++的单例模式中使用并不稳定(单核和多核处理器的优化方式不一样,不同编译器的优化方式也不一样),每次获取实例都实例化一次QMutexLocker的性能开销是可以接受的(如果不可接受,就在第一次调用的时候缓存指针),个人觉得用良好的编程习惯来优化性能较使用不稳定的DCLP优化更加合适,因此删除DCLP相关语句。

zhuzichu520 commented 6 months ago

非常感谢!