C++修炼之路
文章平均质量分 97
<但凡.
给生活添点passion,开始我们的编程之路!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++修炼:IO流
本文介绍了C++ IO流的相关知识,主要包括:1. C++ IO库通过继承体系实现,支持标准IO流、文件IO流和字符串IO流;2. IO流状态管理,包括goodbit、eofbit、failbit和badbit四种状态,以及如何恢复错误状态;3. 输出缓冲区的管理机制和触发刷新的五种情况;4. 标准IO流的使用方法;5. 文件IO流的分类(ofstream、ifstream、fstream)和多种文件打开方式;6. 字符串IO流的使用方法原创 2025-07-16 20:50:14 · 1301 阅读 · 6 评论 -
C++修炼:C++中的类型转换
本文系统介绍了C++中的类型转换机制,主要内容包括:1. C语言类型转换回顾,包括隐式和显式转换;2. C++新增的类型转换特性,如内置类型与自定义类型间的转换(通过构造函数和operator函数实现);3. C++四种显式强制类型转换运算符:static_cast(常规转换)、reinterpret_cast(低级别转换)、const_cast(const属性操作)和dynamic_cast(多态类型安全转换);4. RTTI(运行时类型信息)机制及其应用。原创 2025-07-14 20:00:33 · 871 阅读 · 1 评论 -
C++修炼:智能指针
详细讲解C++智能指针原创 2025-06-24 11:34:06 · 953 阅读 · 9 评论 -
C++修炼:异常
本文详细讲解了C++异常处理机制。主要内容包括:1. 异常的基本概念和原理,通过throw抛出异常,try-catch捕获处理;2. 异常栈展开机制,异常对象生命周期;3. 异常匹配规则,包括基类派生类多态捕获;4. 异常安全问题和内存泄漏风险;5. 标准库异常体系和使用方法;6. 异常重新抛出和noexcept规范。文章通过代码示例展示了除法异常、类继承异常、内存泄漏等典型场景,并提供了标准库异常类和自定义异常的实现方式。最后补充了异常重新抛出的应用场景。原创 2025-06-24 11:32:24 · 1065 阅读 · 3 评论 -
C++修炼:C++11(三)
详细讲解C++11新增lambda,function,bind原创 2025-06-08 15:18:48 · 1028 阅读 · 4 评论 -
C++修炼:C++11(二)
详细讲解C++11新增可变参数模板以及类的新功能原创 2025-06-07 16:33:46 · 1004 阅读 · 10 评论 -
C++修炼:C++11(一)
C++11(一)万字讲解!原创 2025-06-04 16:13:05 · 1049 阅读 · 10 评论 -
C++修炼:位图和布隆过滤器
详细讲解并模拟实现位图和布隆过滤器原创 2025-06-01 15:15:42 · 1333 阅读 · 17 评论 -
C++修炼:unordered_map和unordered_set的使用和封装
unordered_set和unordered_map的封装原创 2025-05-31 15:46:31 · 1081 阅读 · 2 评论 -
C++修炼:map和set的封装
本文介绍了基于红黑树实现map和set容器的关键步骤。原创 2025-05-28 17:25:16 · 1391 阅读 · 1 评论 -
C++修炼:哈希表的模拟实现
万字爆肝!全面讲解并模拟实现哈希表!原创 2025-05-25 18:55:59 · 1323 阅读 · 3 评论 -
C++修炼:红黑树的模拟实现
模拟实现红黑树原创 2025-05-23 10:58:06 · 1437 阅读 · 2 评论 -
C++修炼:AVL树
AVL树是一种自平衡的二叉搜索树(BST),由G.M. Adelson-Velsky和E.M. Landis在1962年发明。它是计算机科学中最早发明的自平衡二叉搜索树结构之一。其实就是二叉搜索树的升级版。因为我们上期分析过了,二叉搜索树在特殊情况下高度会到达N:那么有什么办法让他平衡一下呢?如果说我们能够控制这棵树的高度,让这棵树趋近一颗完全二叉树,那么他的插入效率是非常高的,因为无论沿着哪条路径遍历都是一样的高度,不会出现这种特殊情况。原创 2025-05-19 10:20:59 · 863 阅读 · 0 评论 -
C++修炼:二叉搜索树
细致讲解二叉搜索树原创 2025-05-15 11:02:20 · 947 阅读 · 0 评论 -
C++修炼:多态
C++修炼:多态原创 2025-05-14 11:01:12 · 1443 阅读 · 5 评论 -
C++修炼:继承
目录1、继承引入 2、访问方式3、继承类模板4、基类和派生类间的转换5、继承中的作用域6、派生类的默认成员函数7、继承与友元8、继承与静态成员9、菱形继承10、继承和组合 C++三大特性:封装、继承、多态。封装我们了解过了,这一期我们就来介绍一下继承。 继承的核心思想是允许一个类(派生类)基于另一个类(基类)扩展功能,实现代码复用和层次化设计。继承是类设计层次的复用。 我举个例子帮助大家了解一下这个东西的意义。比方说我定义一个person类,这个类的成员变量包括原创 2025-05-13 14:38:00 · 1151 阅读 · 1 评论 -
C++修炼:模板进阶
1、模板复用了代码,节省资源,更快地迭代器开发,C++的标准模板库(STL)因此而产生。2、增强了代码的灵活性。1、会导致代码膨胀问题,导致编译时间变长。2、出现模板编译错误时,错误信息非常凌乱,不易定位错误。好了,今天的内容就分享到这,我们下期再见!原创 2025-05-12 11:26:12 · 1021 阅读 · 4 评论 -
C++修炼:stack和queue
deque可以说是把两者融合了一下,但是由于他的底层逻辑设计起来比较复杂,他的头插尾插效率高,但是高不过list,他的cpu缓存命中率比list优秀,但是也优秀不过vector。我们在这里不模拟实现他,但是我们说一下他的底层是什么样子的。我们在写文章的时候,如果想引用什么名人名言可以去百度上搜索,比如我搜索出了一段鲁迅说过的话,想把他复制到我的文章中,我肯定不是一个字一个字的复制的吧?,是这一块内存一个数据,那一块内存一个数据,倘若我对于某一块内存扫描64字节的话,可能只能挪走一个数据,甚至一个也挪不到。原创 2025-05-10 16:04:33 · 1278 阅读 · 4 评论 -
C++修炼:list模拟实现
目录 1、list的底层结构2、list容器的构造3、迭代器类的完善4、list类的完善 4.1、迭代器操作 4.2、insert4.3、erase4.4、其他复用接口4.5、初始化列表和拷贝构造4.6、赋值运算符重载4.7、析构函数5、补充 list底层是双向带头循环链表,这意味着我们可以高效的在list中插入,删除节点。但是不支持随机访问。如果我们想要获取特定位置的元素需要遍历链表。 list的模拟实现我们需要三个类,第一个类是节点,我们先把节点原创 2025-04-27 17:48:17 · 1468 阅读 · 6 评论 -
C++修炼:vector模拟实现
vector模拟实现原创 2025-04-16 17:29:19 · 997 阅读 · 0 评论 -
C++修炼:string类的模拟实现
另外迭代器的const版本就是我们得自己另外声明一下。原创 2025-04-10 10:05:42 · 301 阅读 · 0 评论 -
C++修炼:string类的使用
是 C++ 标准库中用于处理字符串的头文件。我们可以用string提供的丰富的接口来实现各种各样的字符串操作。string类的底层其实就是顺序表,只不过在存储字符的同时还多存储了一个‘\0’。再后续的使用讲解中大家会感受到string的强大。 使用string类需要包含头文件: 好的现在我尽量用最直白的语言告诉大家为什么这个string类非常方便。 我们创建了一个helloworld字符串,并且把他打印了出来。现在的字符串就像int, char一原创 2025-03-28 14:17:35 · 993 阅读 · 5 评论 -
C++修炼:模板初见
目录 1、泛型编程 2、函数模板2.1、模板使用2.2、模板样式:2.3、函数模板实例化2.3.1、隐式实例化2.3.2、显式实例化 2.4、模板参数匹配规则3、类模板 首先我们来看下面一个场景: 我们实现了三个加法函数,因为有函数重载的支持,我们在调用函数的时候会自动调用匹配的函数,但是这未免也太麻烦了吧?要写这么多重复的代码,那么有没有一种方式,告诉编译器一个模子,让编译器自动生成这些函数呢? C++中是支持这种“模子”的。而泛型编程是一种编写与具体数据原创 2025-03-23 12:39:43 · 1303 阅读 · 3 评论 -
C++修炼:内存管理
free就干脆全都释放掉了。虽然可行但是我们还是得。原创 2025-03-21 13:25:40 · 1582 阅读 · 5 评论 -
C++修炼:类和对象(下)
C++修炼:类和对象(下)原创 2025-03-17 17:11:10 · 1334 阅读 · 6 评论 -
C++修炼:类和对象(中)
拿我们的日期类来说吧,运算符 减号 是不支持两个日期相减(也就是两个类相减)的,但是如果我们对于小于号进行运算符重载,就可以让小于号实现日期相减。再举个例子,比如说两个日期类,他们两个默认能用等号来比较是否相等吗?肯定是不能的,因为一个类里面有很多的成员变量,编译器怎么可能会知道拿哪个值来比较啊?原创 2025-03-14 14:48:38 · 1050 阅读 · 1 评论 -
C++修炼:类和对象(上)
class TESTpublic://成员函数return;private://成员变量int _a;int _b;现在我们来剖析一下这串代码。class为类的关键字,TEST为类的名字。{}中的为类的主体。其实类就是c语言里面结构体的升级版。但需要注意的是,C++兼容C的定义方式,所以在c++中也可以定义struct结构体。int val;}LTNode;这是我们在学习链表是定义的节点。我们传参时都是LTNode* ph传入头结点。但是在。原创 2025-03-12 11:25:20 · 838 阅读 · 0 评论 -
C++修炼之路:初识C++
C++修炼之路:初识C++原创 2025-03-08 15:57:28 · 2276 阅读 · 1 评论
分享