当前位置: 首页 > 滚动 > >正文

一 base 单例模式, app 函数模板-天天新消息

来源:哔哩哔哩    时间:2023-03-31 20:20:00

单例模式

GUI框架(如QT,GTKMM)都为单线程处理模式。

(为何不是多线程,详见网络文章《多线程 GUI 工具包:无法实现的梦想?(翻译)》https://zhuanlan.zhihu.com/p/44639688)


(相关资料图)

都会有一个Application,使用单例模式思想。

c++单例模式实现(网上抄的):

使用静态局部变量。

有人说需要加锁来提供线程安全,也有人说c++11保证例静态局部对象是线程安全的。 待测!

GTKMM AppWindow单例模式

函数模板

make_window_and_run很有意思,这是叫“函数模板”吧?

编译检查 :static_assert(std::is_base_of<AppWindow, T_AppWindow>::value);

注意T_Args:使用“std::forward<T_Args>(args)...”来将其构造函数所需要的参数传入

注意:该函数实现在.h头文件中,否则会提示func<RealClass>(...)未定义

使用:单例模式APP

这样main()函数就简单了,变成了固定模式来隐藏后面可选框架的细节

X 关闭

推荐内容

最近更新

Copyright ©  2015-2032 华西珠宝网版权所有  备案号:京ICP备2022016840号-35   联系邮箱: 920 891 263@qq.com