![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++的自我救赎
文章平均质量分 68
沉夢志昂丶
坚持以学的方式做事,秉持以真的态度做人。
展开
-
C++ -- 红黑树的基本操作
红黑树是一种自平衡的二叉搜索树,它在插入和删除节点时,通过颜色和旋转操作保持树的平衡,确保插入、删除和查找的时间复杂度都是(O(log n))。原创 2024-06-17 13:54:37 · 593 阅读 · 0 评论 -
C++中的八大设计原则
C++ 中的八大设计原则可以帮助我们创建高内聚、低耦合的代码。原创 2024-06-17 10:42:35 · 1307 阅读 · 0 评论 -
C++中的23种设计模式
C++的23种设计模式原创 2024-06-12 13:51:17 · 2520 阅读 · 0 评论 -
C++中的中介者模式
中介者模式可以帮助我们将对象之间的交互封装在一个中介者对象中,从而减少对象之间的直接依赖。原创 2024-06-12 09:54:24 · 602 阅读 · 0 评论 -
C++中的访问者模式
访问者模式使得我们可以在不修改元素类的情况下扩展新的操作。原创 2024-06-12 10:56:50 · 318 阅读 · 0 评论 -
C++中的模板方法模式
模板方法模式通过定义算法骨架,并将具体步骤延迟到子类中,使得算法结构的变化独立于具体实现,可以提高代码的复用性和维护原创 2024-06-12 10:51:20 · 816 阅读 · 0 评论 -
C++中的策略模式
策略模式通过将算法封装在独立的类中,使得算法的变化独立于使用算法的客户,从而可以提高代码的可扩展性和维护性。原创 2024-06-12 10:44:54 · 557 阅读 · 0 评论 -
C++中的状态模式
状态模式通过将状态转换逻辑从上下文类中抽离出来,使代码更加清晰和易于维护。原创 2024-06-12 10:36:53 · 563 阅读 · 0 评论 -
C++中的观察者模式
观察者模式帮助我们定义了对象间的一对多依赖关系,使得对象之间的通信变得更加灵活和可扩展。原创 2024-06-12 10:27:56 · 759 阅读 · 0 评论 -
C++中的备忘录模式
备忘录模式帮助我们在不破坏对象封装性的前提下捕获和恢复对象的内部状态,从而实现撤销和重做操作。原创 2024-06-12 10:19:28 · 714 阅读 · 0 评论 -
C++中的迭代器模式
迭代器模式通常可以帮助我们提供统一的方式遍历不同的集合,从而提高代码的可复用性和扩展性。原创 2024-06-12 09:47:21 · 354 阅读 · 0 评论 -
C++中的解释器模式
解释器模式是一种行为设计模式,它定义了一种语言的文法表示,并使用解释器来解释这些文法。原创 2024-06-11 17:50:08 · 421 阅读 · 1 评论 -
C++中的命令模式
命令模式在开发中可以帮助我们将请求封装为对象,并提供对请求执行、撤销和重做的支持。原创 2024-06-11 17:43:25 · 616 阅读 · 0 评论 -
C++中的责任链模式
责任链模式可以帮助我们将请求的发送者与接收者解耦,并沿着处理器链传递请求,直到有一个处理器处理它。原创 2024-06-11 17:36:26 · 530 阅读 · 0 评论 -
C++中的代理模式
代理模式是一种结构型设计模式,它提供了一个代理对象,充当了被访问对象的接口,使得客户端可以通过代理对象间接访问被访问对象。原创 2024-06-11 13:50:23 · 564 阅读 · 0 评论 -
C++中的享元模式
享元模式可以在减少内存使用和提高性能方面发挥作用,因为享元模式可以有效地共享相似对象之间的公共部分,从而减少内存占用。原创 2024-06-11 13:45:10 · 473 阅读 · 0 评论 -
C++中的外观模式
外观模式可以简化复杂子系统的使用。原创 2024-06-11 13:34:30 · 629 阅读 · 0 评论 -
C++中的装饰器模式
装饰器模式可以使对象在运行时动态地添加新的行为而不改变其接口。这使得我们可以灵活地扩展对象的功能,而不需要修改已有的代码。原创 2024-06-11 13:27:24 · 575 阅读 · 0 评论 -
C++中的组合模式
组合模式使得单个对象和组合对象可以被统一处理。所以无论是文件系统、组织结构还是图形对象,组合模式都能很好地表示层次结构。原创 2024-06-11 13:21:36 · 533 阅读 · 0 评论 -
C++中的桥接模式
桥接模式通过分离抽象和实现,使得系统的扩展和维护更加灵活和方便,并且可以很容易地进行组合以适应不同的需求。原创 2024-06-11 11:20:10 · 631 阅读 · 0 评论 -
C++中的适配器模式
适配器模式(Adapter Pattern)适配器模式是一种结构型设计模式,它使得原本由于接口不兼容而不能一起工作的类可以协同工作。原创 2024-06-11 10:59:20 · 970 阅读 · 0 评论 -
C++中的原型模式
原型模式是一种创建型设计模式,它允许你通过复制现有对象来创建新的对象,而不是通过类实例化来创建对象。原创 2024-06-11 10:53:56 · 725 阅读 · 0 评论 -
C++中的生成器模式
每个生成器类负责设置对象的各个属性,并在最终构建出对象。原创 2024-06-11 10:48:33 · 368 阅读 · 0 评论 -
C++中的抽象工厂模式
抽象工厂模式是一种创建型设计模式,它提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。原创 2024-06-11 10:32:04 · 524 阅读 · 0 评论 -
C++中的工厂方法模式
工厂方法模式通过定义一个创建对象的接口,将对象的实际创建工作推迟到子类中实现,从而实现了解耦和扩展性。原创 2024-06-11 10:14:48 · 921 阅读 · 0 评论 -
C++中的单例模式
单例模式,通过确保类的唯一实例来简化资源管理,并在多个场景中广泛应用,如配置管理、日志记录和数据库连接池。原创 2024-06-11 09:59:49 · 778 阅读 · 0 评论 -
C++中的常见I/O方式
C++中的I/O操作包括标准I/O、文件I/O、字符串流、低级文件I/O、内存映射文件和网络I/O。原创 2024-06-08 13:15:43 · 517 阅读 · 0 评论 -
C++中的继承方式
在 C++ 中,继承是一种让一个类(派生类)从另一个类(基类)获得属性和方法的机制。原创 2024-06-08 11:10:04 · 313 阅读 · 0 评论 -
C++中的if constexpr
你可以把 `if constexpr` 想象成一种“智能的” `if` 语句。平常的 `if` 语句是在程序运行的时候进行条件判断,而 `if constexpr` 是在编译的时候进行判断。原创 2024-06-07 11:17:58 · 576 阅读 · 0 评论 -
C++中的宏定义
C++中的宏定义(Macros)是预处理器的一部分,可以在编译代码之前进行文本替换。宏定义的基本用法是相对简单的,但也有一些高级的编程技巧和用法。原创 2024-06-06 11:22:51 · 802 阅读 · 0 评论 -
C++中常见的初始化类型
在C++中,初始化变量的方法非常多,涵盖了多种类型的初始化方式。原创 2024-06-05 13:44:15 · 996 阅读 · 0 评论 -
C++中的new和delete
在C++中,`new` 和 `delete` 运算符用于动态内存分配和释放,对它们的使用将会直接影响到程序的内存管理和性能优化。原创 2024-06-05 11:31:46 · 990 阅读 · 0 评论 -
C++中的封装,继承和多态
在C++中,封装、继承和多态是面向对象编程的三大核心特性。原创 2024-06-04 17:46:07 · 642 阅读 · 0 评论 -
C++中的左值和右值
在C++中,左值(lvalue)和右值(rvalue)是两个重要的概念。左值和右值的区分在C++11引入移动语义和右值引用后变得更加重要。原创 2024-06-04 10:26:24 · 718 阅读 · 0 评论 -
C++中的Template常见用法
C++中的模板(template)是一种非常强大的工具,用于泛型编程和代码复用。模板可以分为函数模板、类模板、别名模板、变量模板、模板模板参数等。这些模板能够处理任意类型的数据,提高代码的灵活性和可重用性。原创 2024-06-04 10:11:19 · 1195 阅读 · 0 评论 -
C++中的‘位’操作
在C++中,位操作可以通过位与(AND)、位或(OR)、位异或(XOR)、位取反(NOT)、左移(Left Shift)和右移()等操作来实现。如果结合宏定义来使用,可以使位操作更加简洁。通过将位操作与宏定义结合,可以提高代码的可读性和可维护性,同时保留位操作的高效性。原创 2024-06-03 18:25:12 · 863 阅读 · 1 评论 -
C++中的迭代器
在 C++ 中,迭代器(iterator)是用于遍历容器(如数组、链表、向量等)元素的对象。标准库(STL)中迭代器是一个重要的概念,类似于指针,但功能更强大。原创 2024-06-03 11:16:42 · 473 阅读 · 0 评论 -
C++中的‘friend‘关键字
1. 友元破坏封装:友元函数和友元类破坏了类的封装性,因为它们可以访问类的私有成员和保护成员。应谨慎使用友元机制,确保它们在确有必要时才使用。2. 友元关系单向性:友元关系是单向的。如果类 `A` 是类 `B` 的友元,类 `B` 不能自动成为类 `A` 的友元,除非也明确声明。3. 不能继承友元关系:友元关系不能被继承。如果基类将一个函数或类声明为友元,派生类不会自动继承这种友元关系。4. 滥用友元:避免滥用友元机制。如果大量使用友元,可能需要重新考虑类的设计,确保类的职责分明和接口的合理性。原创 2024-06-03 10:35:16 · 417 阅读 · 0 评论 -
C++中的‘const‘关键字
在 C++ 中`const` 有广泛的使用场景。我们在开发时使用 `const` 可以提高代码的可读性和安全性,防止无意中修改变量的值。需要注意合理使用‘const’才能更好的把代码编写规范。原创 2024-06-03 10:20:02 · 471 阅读 · 0 评论 -
C++中常见的限定符|说明符
在 C++ 中,specifiers(限定符或说明符)是用于修饰变量、函数、类等各种程序元素的关键字。常用的specifiers包括存储类型说明符、访问说明符、类型限定符等。我们将简单介绍有哪些常见的specifiers,后续我会针对某些限定符再进行详细介绍。原创 2024-06-03 10:10:15 · 797 阅读 · 0 评论