- 博客(43)
- 收藏
- 关注
原创 【Linux我做主】探秘gcc/g++和动静态库
带你认识预处理、编译、汇编、链接四大阶段,探讨动静态库的本质差异,解密Debug与Release
2025-04-17 19:00:00
1310
25
原创 【Linux我做主】yum与vim详解:一行命令搞定简单配置vim
本文介绍Linux中的包管理工具yum和文本编辑器vim,带你一行命令配置vim。
2025-03-17 19:42:05
1609
37
原创 【Linux我做主】基础命令完全指南上篇
本文介绍`Linux系统`的基本知识和一些常见命令的基本使用,命令的更多用法需结合man手册进行查询。
2025-03-15 19:24:48
2104
32
原创 C++类和对象实战:实现一个日期类
本文通过实现一个日期类,综合运用构造函数、运算符重载、友元函数等C++特性,帮助读者巩固面向对象编程知识。我们将实现日期的基本操作,包括日期比较、日期加减、流输入输出等功能。
2025-02-22 14:24:08
722
24
原创 C++类和对象进阶:初始化列表和static成员深度详解
本文深度详解关于C++构造函数的初始化列表和C++类中的static成员,其中static成员包含static成员变量和static成员函数,以及介绍static的相关实践场景。
2025-02-22 14:22:12
1045
16
原创 C++类和对象进阶:const及取地址重载深度解析
本文将介绍const成员函数和C++6个默认成员函数中的最后两个,取地址重载操作符重载和const取地址重载。
2025-02-17 14:28:05
993
13
原创 C++类和对象进阶:运算符重载深度详解
在C++中,运算符重载允许我们为自定义类型赋予与内置类型相似的操作方式,极大提升了代码的可读性和灵活性。本文将深入探讨运算符重载的规则与实现,并重点分析==默认成员函数之一的赋值运算符重载函数。
2025-02-13 18:19:00
1103
17
原创 C++11特性:指针空值 nullptr
在 C++11 中,`nullptr` 被引入为一种新的空指针类型,目的是替代传统的 `NULL` 宏,以便更清晰和更安全地表示空指针。`nullptr` 不仅解决了 `NULL` 可能引发的歧义,还增加了对类型安全的支持。本文将详细介绍 `nullptr` 的背景、特性和使用场景。
2025-02-07 10:49:33
775
14
原创 C++ 支持重载的原理
本文探讨了 C++ 支持函数重载的原理,重点介绍了名称修饰(Name Mangling)如何实现同名函数的区分。编译器通过在函数名中添加参数类型信息来区分不同参数类型的同名函数,从而实现重载功能。文章首先介绍了程序的生成过程,包括预处理、编译、汇编和链接四个步骤,阐明了链接器如何通过符号表解决不同源文件间的函数调用问题。
2025-02-05 20:25:22
963
6
原创 C++函数进阶:缺省参数、重载与内联函数
本文将深入探讨C++中函数的三个重要特性:缺省参数、函数重载和内联函数,揭秘它们的工作原理与最佳实践。
2025-02-05 17:35:05
1033
4
原创 树及其二叉树结构阐述(C语言)
通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。可以看出,该结构中我们定义了一个结构,结构内包含两个指针和一个数据位。这样,每个结点内只需定义两个指针,就可以表示含有无穷多个节点的树了。它既节省空间,又方便用数组存储,是很多算法(如堆排序)的基础结构。以上即为树相关的所有概念,其中重点需要记忆的概念我已经用黄色重点标出,其余概念能够辨识即可。提前剧透一下,二叉树的顺序存储也就成为了堆,二叉树的链式存储采用的是二叉链表。
2025-02-04 12:59:18
983
6
原创 顺序表和链表对比
单链表适合需要频繁插入和删除、数据量不确定的场景,尤其是动态链表数据结构(如队列、栈)。顺序表适合数据量较小、访问较频繁、数据不经常变动的场景(如静态集合或数组)。选择哪个数据结构取决于应用的具体需求,例如,如果需要频繁地插入和删除数据,链表可能更合适;如果需要频繁地访问数据,顺序表会更加高效。
2025-01-26 16:09:33
758
6
原创 单链表C语言实现
SListNode;以上定义了单链表的结点,结点内存储两个数据。一个数据是我们实际要存储的数据,另一个是一个指针变量,是指向结构体的指针,存储下一个结点的地址。链表的链式结构正是通过指针来实现的。如图所示。设置一个指针变量存储第一个结点的地址每个结点中,存储了数据 和 下一个结点的地址地址由结构体指针来存储我们可以访问结构体中的指针来获取地址,实现对下一个结点的访问。若需频繁插入/删除、数据规模动态变化,且不需要随机访问(如实现 LRU 缓存、消息队列)。
2025-01-26 16:04:28
1158
3
原创 C++命名空间和流式IO
命名空间通过namespace关键字定义,后面接命名空间名称和一对大括号,括号内为命名空间的成员。// _rand是命名空间的名字,一般开发中是用项目名字做命名空间名。// 命名空间中可以定义变量 /函数 /类型int name;char ch;
2025-01-21 21:47:08
853
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人