- 博客(31)
- 收藏
- 关注
原创 C++泛型编程(二):现代C++特性
C++中的一个类模板,它能够自动管理动态分配的内存,确保在适当的时候自动释放资源。它是RAII(资源获取即初始化)技术的一个具体实现主要分类为:shared_ptr(共享式智能指针)、unique_ptr(独占式智能指针)、weak_ptr(弱引用智能指针)
2025-05-10 12:28:53
736
原创 C++泛型编程(一):模板详解
SFINAE作为C++模板编程中的一项强大功能,通过在模板实例化过程中允许替换失败而不报错,实现了基于类型特性的编程。然而,SFINAE的语法复杂且难以维护,现代C++引入的新特性如概念等在某些情况下已经能够更简洁地实现类似的功能。尽管如此,理解SFINAE的工作机制依然对于掌握高级模板技术和阅读老旧代码具有重要意义。
2025-04-26 11:05:30
939
原创 C++STL(十三):易混知识
这篇是我在阅读C++各类书籍、编程时遇到的比较典型或者有趣的两者区别、重要定义等,会持续更新![[3DFA3024.png]](之后的每个栏目都会有该章节)
2025-04-20 13:52:07
322
原创 C++STL(十二):空间配置器
/ 跟踪内存分配的自定义配置器public:// 必须提供rebind模板 -- 允许容器为不同类型(如节点类型)使用相同的分配器std::cout << "分配 " << n << " 个 " << typeid(T).name()<< " 对象,地址: " << p << std::endl;return p;std::cout << "释放 " << n << " 个 " << typeid(T).name()
2025-04-20 13:47:02
556
原创 C++STL(十):算法
STL算法库是C++标准模板库的核心组成部分,提供了大量用于数据处理的通用算法。这些算法与容器解耦,通过迭代器进行操作,实现了高度的灵活性和可复用性。
2025-04-18 17:33:27
968
原创 C++STL(九):迭代器
/ 简单的整数范围迭代器private:int value;public:// 迭代器特性定义// 解引用操作// 前缀递增++value;// 后缀递增++(*this);// 相等比较// 不等比较return!// 整数范围容器private:public:// 输出:1 2 3 4 5return 0;
2025-04-17 22:06:24
652
原创 C++STL(五):容器之deque
deque(双端队列)是一种支持在两端高效插入和删除元素的序列容器。与vector相比,deque支持在前端和后端均以常数时间进行插入和删除操作。
2025-04-17 21:50:46
454
原创 C++基础梳理(六):lambda与function
是C++11提供的一个通用的可调用包装器,能够封装任何可调用对象,包括普通函数、Lambda表达式、函数对象以及绑定表达式。它实现了类型擦除,使得不同类型的可调用对象可以通过统一的接口进行操作lambda表达式适合简洁的代码和需要捕获上下文的场景。它们通常更高效,因为编译器可以进行优化。std::function适合需要存储和传递不同类型的可调用对象的场景。它提供了更大的灵活性,但可能会有性能开销。
2025-04-17 21:49:03
393
原创 C++STL(三):容器之vector
连续内存管理:采用动态数组实现自动内存管理:通过动态扩容和收缩维护高效随机访问:通过指针算术实现O(1)访问空间与时间平衡:通过增长因子优化扩容成本 – - VS: 1.5倍增长、GCC: 2倍增长。
2025-04-15 21:45:36
398
原创 C++STL(二):容器之综述
unordered_set/map: 查找效率O(1),但需要额外空间。本号文章仅为个人收集总结,强烈欢迎大佬与同好指误或讨论 ^^set/map: 自动排序,查找效率O(log n)forward_list: 单向遍历,内存开销小。list: 任意位置插入删除快,不支持随机访问。需要键值对:map/unordered_map。需要唯一性:set/unordered_set。vector: 随机访问快,尾部操作快。deque: 双端操作快,随机访问较快。需要随机访问:vector。
2025-04-15 21:44:17
344
原创 C++STL(一):基础
STL是C++标准库的一部分,是一个通用的、基于模板的、高效的、可复用的软件组件库。它提供了一组模板类和函数,用于实现常用的数据结构和算法。
2025-04-15 21:42:55
365
原创 C++面向对象(五):易混知识
这篇是我在阅读C++各类书籍、编程时遇到的比较典型或者有趣的两者区别、重要定义等,会持续更新![[3DFA3024.png]](之后的每个栏目都会有该章节)
2025-04-12 17:34:19
322
原创 C++面向对象(四):多态
多态是指同一种操作作用于不同的对象,可以有不同的解释和实现。分为:编译时多态(多态):通过函数重载和运算符重载实现、运行时多态(多态):通过虚函数机制实现。
2025-04-12 17:33:27
359
原创 C++面向对象(三):封装
封装是一种将数据和操作数据的方法捆绑在一起的机制,它隐藏了对象的内部细节,只向外部提供必要的接口。通过访问控制实现信息隐藏,保证了数据的安全性和代码的可维护性。
2025-04-12 17:32:34
266
原创 C++面向对象(二):继承
继承是一种通过现有类创建新类的机制,使得新类(派生类)可以获得现有类(基类)的属性和方法。它支持代码重用,建立类之间的层次关系,体现了"是一个"的关系。
2025-04-12 17:31:26
324
原创 C++面向对象(一):类与对象
构造函数 :类的特殊成员函数,用于初始化对象的数据成员,在对象创建时自动调用析构函数 :类的特殊成员函数,用于清理对象使用的资源,在对象销毁时自动调用拷贝构造函数 :用一个已存在的对象初始化同类型的新对象时调用的特殊构造函数拷贝赋值运算符 :将一个对象的值赋给同类型的另一个已存在的对象时调用的特殊成员函数移动构造函数 :用于将一个对象的资源转移到另一个对象,而不是复制,提高效率移动赋值运算符 :用于将一个对象的资源转移给另一个已存在的对象。
2025-04-12 17:29:52
523
原创 C++内存管理(四):易混知识
这篇是我在阅读C++各类书籍、编程时遇到的比较典型或者有趣的两者区别、重要定义等,会持续更新![[3DFA3024.png]](之后的每个栏目都会有该章节)
2025-04-10 20:44:52
181
1
原创 C++内存管理(三):智能指针
C++中的一个类模板,它能够自动管理动态分配的内存,确保在适当的时候自动释放资源。它是RAII(资源获取即初始化)技术的一个具体实现主要分类为:shared_ptr(共享式智能指针)、unique_ptr(独占式智能指针)、weak_ptr(弱引用智能指针)
2025-04-10 20:43:03
229
原创 C++内存管理(二):内存泄漏
内存泄漏(memory leak)是指由于疏忽或错误造成了程序未能释放掉的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费分类为:堆内存泄漏、对象内存泄漏、系统资源泄漏、智能指针误用泄漏。
2025-04-10 20:42:09
258
原创 C++基础梳理(三):关键字(下)
作用 :定义常量,使变量不可修改,提供类型检查指针常量(顶层const)与常量指针(底层const):[[4. 易混知识]]运用场景:1.常量变量声明:防止意外修改2.常量指针/引用:保护数据3.const成员函数:保证不修改对象状态4.常量对象:整体不可修改5.常量参数:函数参数保护。
2025-04-09 09:50:43
516
原创 C++基础梳理(四):易混知识
函数指针是一种特殊的指针类型,它存储了函数的入口地址。通过函数指针,程序可以在运行时动态地选择要调用的函数,实现了将函数作为参数传递或在运行时改变函数调用的能力。// 函数指针声明返回类型 (*指针名)(参数列表);// 示例// 声明一个函数指针// 无参数无返回值的函数指针。
2025-04-08 21:29:04
178
原创 C++基础梳理(三):关键字(上)
1.定义C++关键字(Keywords)是编程语言中预定义的保留字,具有特定的语法含义和功能,不能用作标识符。它们是语言的基本构建块,用于定义程序的结构、控制流程和数据类型。
2025-04-08 21:27:50
302
原创 C++基础梳理(二):数据类型
1.定义数据类型:数据类型(Data Type)是一组值的集合以及定义在这些值上的一组操作的总称。它规定了数据的和。
2025-04-08 20:09:59
295
原创 C++基础梳理(一):指针与引用
指针(Pointer):指针是一种变量,其值为另一个变量的内存地址。它是一个复合类型,专门用来存储内存地址。指针提供了间接访问其他对象的能力,可以动态分配内存,能够改变所指向的地址,也可以不初始化或为空(nullptr)。引用(Reference):引用是一个对象的别名,它在内存中不占用独立空间,必须在定义时初始化,一旦绑定到一个对象就不能再改变。引用提供了对其引用对象的直接访问能力,在语法上与被引用的对象完全等同。
2025-04-08 20:01:56
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅