Reactor和Proactor

高性能网络模式:Reactor 和 Proactor 高效进行IO操作的方案,不外乎这二种。 说明 Reactor 是非阻塞同步网络模式,感知的是就绪可读写事件。 在每次感知到有事...

2024-04-20 · 2 分钟 · 3rd

C++项目惯例

C++项目惯例 这里没有标新立异,对于老项目务必做到和历史代码风格统一,对于新项目做到和团队风格统一,对于没有明确要求或个人的项目做到前后风格...

2024-04-16 · 4 分钟 · 3rd

C++的前向声明

C++的前向声明 有些时候,尤其是写会提供给其他人使用的库的时候,不想暴露过多细节,也不想让使用库的人引入不必要的头文件,可以使用前向声明避免...

2024-01-25 · 4 分钟 · 3rd

CMake注意事项

CMake注意事项 使用CMake时,不熟悉的内容千万不要想当然,主观臆断保不齐就被“特性”坑了。 注意事项 判断环境变量或字符串的误区 参考官方文...

2024-01-05 · 3 分钟 · 3rd

动态链接spdlog的cmake配置

动态链接spdlog的cmake配置 由于spdlog仅头文件形式编译会大大增加二进制文件大小,同时我有多个程序都要使用,为了节省资源,考虑使...

2023-12-05 · 1 分钟 · 3rd

C++什么时候应该用decltype

C++什么时候应该用decltype decltype通常应该被封装在通用(模板)库中,仅在完全必要的情况下使用。除此以外,非滥用的auto才...

2023-12-05 · 3 分钟 · 3rd

Tkinter嵌入ico图标

Tkinter嵌入ico图标 Tkinter虽然比较简陋,但是在使用Python开发一些图形化小工具时还是比较方便的。由于原生图标比较朴素,所...

2023-10-30 · 1 分钟 · 3rd

C++单例模板

C++单例模板 单例的写法基本都相同,定义一个模板方便使用单例模式。 分析 单例模式需要确保资源初始化是线程安全的,因而出现了以下几种方法(选自《...

2023-06-29 · 4 分钟 · 3rd

什么是编程的反射

什么是反射 反射这个词的翻译挺令人费解的,总有种望文生义的感觉。 举个例子 我写了个摘要计算器,其中有如下代码: 1 2 3 4 5 6 if selected_algorithm == "SHA-512": algorithm = hashlib.sha512() elif selected_algorithm == "SHA-256":...

2023-04-11 · 2 分钟 · 3rd