随笔分类 - C++设计模式
摘要:如果您想要确保某个操作在每个新的分钟开始时尽可能准确地执行,最好的方法是使用一个定时器,并在每分钟的开始时重新校准它。这样可以减少累积误差,并确保操作在长时间运行后仍然同步。 以下是一个使用Qt的示例,它创建了一个QTimer,它会在每分钟的开始时调用一个函数,并在函数执行后重新计算下一次触发的时间
阅读全文
摘要:一、总述 世界上的开源许可证,大概有上百种,很少有人搞得清楚它们的区别。今天,我们来说说最流行的六种:GPL、BSD、MIT、Mozilla、Apache和LGPL。 二、详细说明 1.BSD许可证(https://en.wikipedia.org/wiki/BSD_licenses) BSD开源协
阅读全文
摘要:https://zhuanlan.zhihu.com/p/213902091 还没有学习完 简介:程序开发的时候经常会使用到接口。众所周知,C++语言层面并没有接口的概念,但并不意味着C++不能实现接口的功能。相反,正是由于C++语言没有提供标准的接口,导致实际实现接口的方法多种多样。那么C++有哪
阅读全文
摘要:二进制兼容 在上一章结尾处提到了二进制兼容的概念,这里先说说二进制兼容的问题。 为什么是二进制兼容 简单说,就是我的可执行程序调用你的动态库(so/dll),若动态库发生改动,我替换库文件后仍可以直接运行,这就是二进制兼容。若需要重新编译才能运行,就是二进制兼容。 为什么会二进制兼容 二进制不兼容的
阅读全文
摘要:https://blog.csdn.net/myw31415926/article/details/127722899 抛砖引玉 试想一个问题,如果有一套收发数据的网络接口,需要提供给其他同事或厂家使用,包含头文件和动态库,假设头文件如下: // 版本1 class NetworkV1 { publ
阅读全文
摘要:Pimpl(Pointer to implementation) 是一种减少代码依赖和编译时间的C++编程技巧,其基本思想是将一个外部可见类(visible class)的实现细节(一般是所有私有的非虚成员)放在一个单独的实现类(implementation class)中,而在可见类中通过一个私有
阅读全文
摘要:https://blog.csdn.net/Jacky_Feng/article/details/122221191 一、PIMPL模式引入 PIMPL是指pointer to implementation,又称作“编译防火墙”。它通过将类B放置在单独的类A中,使用B的不透明指针进行访问实现,从而隐
阅读全文
摘要:https://www.zhihu.com/question/270945429 首先.h和.cpp文件在编译器中是几乎一样不做区分的都是文件而已。 其次#include的作用就相当于把引入文件中的所有内容完整的复制到当前位置(就像ctrl+a,c,v)。 最后,#include的文件中的内容大多数
阅读全文