
C++常用技术栈及易忽略的问题
文章平均质量分 95
_the_sun
间歇性学习 持续性躺平
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Reactor设计模式及其在epoll中的应用
Reactor的产生过程,采用这种设计模式对于编程有什么好处,网络epoll是如何使用Reactor模式的?并且提供了一份通用的示例代码,后续可以直接在这个代码上进行应用层的封装。原创 2025-08-19 00:44:46 · 745 阅读 · 0 评论 -
常见的设计模式(2)单例模式
单例模式作为最常见的设计模式,本文从新手思考的方式,逐步完善。最后用到C++11的局部静态变量magic static的特性简化代码,并将其封装成一个模板基类,方便后续开发的使用。原创 2025-08-12 16:04:13 · 867 阅读 · 0 评论 -
C++移动语义、完美转发及编译器优化零拷贝
移动构造实现资源的转移,减少了一次深拷贝。而编译器的优化实现零拷贝,则是直接让临时变量处,优化成直接构造。关于万能引用和完美转发则是在模板、auto范围for循环中才会使用到。std::forward本身并不识别类型,而是T模板参数已经记录了。原创 2025-08-10 18:11:21 · 787 阅读 · 0 评论 -
C++虚继承路径独立的判定、vbptr的层级访问
有几个独立的路径,就会有几个vbptr。反过来路径有重合的地方就会合并成一个vbptr,从最外层依次嵌套vbptr访问到最底层的Base虚基类。原创 2025-08-05 17:15:25 · 698 阅读 · 0 评论 -
常见的设计模式(1)观察者模式、策略模式
设计模式关在在于找到稳定点、变化点。然后对稳定点采取抽象接口的思想让他更加稳定;而变化点则通过继承、多态等方式实现扩展,不影响原来的代码,符合开闭原则。而本文讲解了常见的两种设计模式:观察者模式,通常用于一对多的订阅响应场景。策略模式,通常用于多个路径下选择单一路径的策略选择场景。原创 2025-08-04 13:56:47 · 850 阅读 · 0 评论 -
设计原则和设计模式
讲解了设计模式是各种设计原则的产物,利用设计模式可以方便后续的功能扩展等。同时组合最好使用多态组合,而非静态组合,也是为了后续方便功能的扩展。强调开闭原则---扩展开放、修改封闭。原创 2025-08-03 18:48:05 · 1074 阅读 · 0 评论 -
C++红黑树
红黑树为什么要设置nil节点?对于插入情况下,有多少种情况分析?原创 2025-08-03 09:47:25 · 729 阅读 · 0 评论 -
C++中typename基本用法
在使用模板类中定义的类型的时候,且该模板参数并没有定死(编译写死)的时候,必须使用typename;而在后来开发的时候根据需求对T模板类型已经确定下来,如vector<int>就不需要加typename原创 2025-08-01 22:36:35 · 752 阅读 · 0 评论