思源博客
搜索
首页
文章归档
分类
关于
源码分析
文章搜索
标签
Go
1
操作系统
1
分布式系统
11
GNN
1
机器学习
4
RNN
1
网络编程
3
Docker
1
多线程
2
源码分析
2
模板元编程
4
JSON
1
Web
3
计算机网络
7
Git
3
HTTP
1
笔记
33
工具
8
学习
14
C++Primer
18
算法
8
力扣
12
C++
36
文章
79
标签
23
评论
7
首页
文章归档
分类
关于
源码分析:C++ 信号槽机制的实现
发布于 2022-11-30
|
更新于 2 年前
源码分析
|
C++
模板元编程
源码分析
0
评论
前置知识C++11 智能指针多线程知识设计模式 Observer什么是信号槽程序需要一种监听结构,当对象发生改变时,监听者能知道,非常常用的监听是输入事件的监听,例如按钮点击之后会产生一个监听事件,该事件会被监听者「听到」。虽然叫做监听者,直观理解上是监听者能够知道对象的变化,但实际上这种知道是被动
源码分析:dbg-macro 完全解析
发布于 2022-10-20
|
更新于 2 年前
模板元编程
源码分析
C++
|
C++
模板元编程
源码分析
0
评论
前言为了实现强大的 debug 信息,例如变量类型、变量信息、自动打印容器内元素等等功能,这部分需要获取到编译信息,正常手段应该很难获取到,要借助编译器,就只能利用模板元编程和宏来实现。所以该库的核心就是 宏 和 模板元编程 。所以阅读源码需要你对宏和模板元编程有一定了解,特别是 type_trai
C++ 黑魔法初探:boost 库 is_detected
发布于 2022-10-17
|
更新于 2 年前
模板元编程
源码分析
C++
|
C++
学习
模板元编程
0
评论
前言在阅读 github 上一些库的源代码时,看到一个很有趣的实现,如何检测一个类型是否是容器,源代码是通过检测类型是否支持 begin、end、size 操作来判断。由于标准库并没有 is_detected 这一实现,所以库作者基本是把 boost 库中的源代码搬了过来,第一次看到时还花了好久时间
1