- 博客(17)
- 收藏
- 关注
原创 C++STL【string】常用接口函数以及模拟实现
本文系统讲解C++ string类的使用与模拟实现,涵盖构造函数、赋值运算符、迭代器、容量操作、访问与修改函数、查找比较及非成员函数等核心内容。通过对比C语言字符串处理的不足,强调string在封装性、安全性与易用性上的优势。结合实例演示与底层模拟实现,帮助读者深入理解其设计思想与实际应用,为学习后续容器(如vector、list)奠定基础。
2026-11-05 10:27:45
256
11
原创 C++模板初阶
本文介绍了函数模板与类模板的原理与应用。通过函数模板,可统一编写泛型交换、加法等操作,由编译器根据实参类型自动实例化对应版本,避免重复代码。函数模板支持隐式与显式实例化,遵循匹配优先非模板函数的原则。类模板则需显式实例化,且不建议将声明与定义分离,否则易引发链接错误。模板提升了代码复用性与类型安全性。
2026-10-20 20:30:41
221
3
原创 C/C++内存管理:new/delete操作符详解
C++中推荐使用new/delete替代malloc/free进行动态内存管理。new/delete自动类型转换、支持初始化,且申请失败抛异常而非返回空指针,更安全便捷。对于自定义类型,new会调用构造函数,delete会调用析构函数,而malloc/free仅分配/释放内存。new/delete底层通过operatornew/operatordelete实现,前者可抛异常,后者最终调用free。定位new可在已分配内存上显式调用构造函数。使用时需配套:new单个→delete,new[]→delete[]
2026-10-15 16:51:41
184
5
原创 C++类和对象(下)初始化列表、类型转换、static、友元、内部类、匿名对象
C++类和对象(下):初始化列表、类型转换、static、友元、内部类、匿名对象
2026-10-13 22:00:17
245
12
原创 C++入门核心精讲:从Hello World到命名空间、引用和内联
C++基础入门。包含了新手的第一个C++程序,命名空间详解,C++基础输入输出,缺省参数,函数重载,引用详解,内联函数和nullptr指针
2026-09-29 21:40:34
233
3
原创 【数据结构入门⑥】队列的基本概念和接口函数实现及顺序队列的处理方法
队列(queue)是限定只能在一端插入数据,另一端删除数据的线性表。对于队列来说,插入的一端叫做队尾,插入称为入队,删除的一端叫做队头,删除叫做出队。队列的入队出队的顺序相比栈来说就更加简单了,无论如何操作,一种入队顺序只对应一种出队顺序。
2026-08-21 12:03:00
188
3
原创 【C语言指针基础详解①】内存地址、解引用与指针运算
①先讲明白一个概念,内存单元的编号(在硬件上就编好的) = 地址 = 指针。所以指针其实就是地址,而我们平时日常说的指针实际为指针变量。②存储地址的变量 ->指针变量,其定义,初始化,打印操作如下。//指针变量pa的定义及初始化,注意,在定义的过程中一定要初始化,不然很容易访问野指针//使用%p打印地址return 0;注意:&a指的是取出a这个变量的地址,它是个数值,为地址编号。
2026-06-16 19:49:31
213
3
原创 【数据结构入门③】单链表:从零实现增删查改
/重命名结构体中的数据的类型//单链表结点模板//用来存储数据//用来存储下一个结点的地址//LNode 是整个结构体的新名字,而LinkList == LNode*要注意的是,每一个结点都是一个结构体,就是对应的数组中的一个元素。
2026-06-11 15:18:28
227
9
原创 【数据结构入门②】顺序表:从零实现增删查改
特殊的,在尾部删除时,并不用覆盖掉它的值,就只让size-1,标志着最后的这一个元素非法即可,毕竟不尾删,就中间删除的时候最后一个剩下的也是删除之前的最后一个值,对于顺序表来说也是垃圾值。删除函数的功能是删除顺序表中第i个下标上的元素,删除的元素通过返回值带出,注意i必须在 i >= 0 && i < ps->size,否则无法删除。a. 使用malloc申请一个默认大小动态数组空间,比如默认大小为4,这个空间一般不要太大,因为太大了,用不了就浪费了,反正如果不够,后续可以扩容。
2026-06-09 15:55:51
396
1
原创 【C语言入门】文件操作语法详细解析
本文系统介绍了C语言文件操作的核心概念与技术要点。主要内容包括:1. 文件分类(程序文件与数据文件)及文件名组成;2. 文本文件与二进制文件的本质区别;3. 文件指针与流的概念,标准输入/输出/错误流;4. 文件打开关闭(fopen/fclose)及路径表示;5. 顺序读写函数(fputc/fgetc、fputs/fgets等)及错误检测;6. 随机读写(fseek/ftell/rewind)与文件定位;7. 文件缓冲区机制及fflush函数;8. 更新文件操作模式(如"w+")的使用方法。
2026-05-26 15:25:36
686
15
原创 C语言分支结构之if语句讲解
首先判断if语句的条件语句1是否为0,若不为0则执行内部语句1。若为0,则依次判断else if语句中的条件语句,看哪个else if的条件语句符合就执行那个else if 的内部语句,若全部的条件语句都为假则执行else语句后面的“内部语句4”。先判断条件语句是否为0,若不为0,则执行内部语句。若条件语句为0,则直接跳过大括号,去执行后面的语句。依然先判断条件语句,若不为0,则执行内部语句1。若为零,则找else,去执行else后的内部语句2。注意:如果内部语句为单一语句则大括号可以省略不写。
2026-01-09 17:17:56
309
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅