自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 对象生命周期管理:C++中的内存分配与回收

C++内存管理方式new与delete

2024-02-17 10:56:45 791 1

原创 C++语言设计之美:深度剖析六大默认成员函数

当一个类(class)中什么也没有时,我们称之为空类,但空类的“空”并不绝对,指向的应该是其内容为空。编译器在用户没有显式定义时,会为空类生成六大默认成员函数。

2024-02-13 11:47:11 578 1

原创 窥斑见豹 C++

return a*b;int val;//......由上述代码可见,一个命名空间可以定义变量、函数、结构体,命名空间之间还能相互嵌套(一般来说至多两个)。需要注意的是,同一工程中的多个同名命名空间,在编译阶段时会被合并为同一个命名空间,而提到编译阶段,我们可以回顾一下编译器在编译过程中的几个步骤①预处理:对源代码文件进行预处理,包括展开头文件、宏替换、条件编译、去掉注释等操作(.i);②编译:将与处理后的源代码文件编译为汇编代码(.s);③汇编。

2024-02-08 11:22:00 1056 3

原创 图解循环队列的实现

int* a;//a[]为整形数组int front;//队头下标int back;//队尾下标int k;//队列有效长度对于队列的实现,我们可以选择链表,也可以选择数组,但是由于后续操作中涉及出入队,这会导致队头队尾的下标发生变化,尤其当队列后移,原队尾的位置需要移动到队头时,对于值的改变链表较数组而言会更麻烦,因此在上述定义代码中,我们选择用数组实现,即代码中注释。

2023-11-22 15:09:16 962

原创 简单总结栈与队列的基本实现与易错点

上述栈的实现代码中,我们能够基本完成栈的定义、初始化、入栈、出栈、获取栈顶元素、获取栈中元素个数、判断栈空以及销毁栈的功能,但仍然有几个细节我们不能忽视:①在栈的初始化中,我们把ps->top初始化为0,这会让人产生一些歧义,但这么定义也有它的意义。在一些资料书中,我们也能看到将ps->top初始化为-1,这二者的差别在于,前者是让ps->top指向栈顶元素的下一个位置,后者是将ps->top直接指向栈顶元素,因此在执行入栈操作时,对于前者,我们是先入栈后++,而后者是先++再入栈。

2023-11-15 11:01:28 53

原创 扶正眼镜看#define

/基本语法上述代码中,“name”是我们要定义的某个量,它的命名通常都由大写字母构成(函数为小写 命名约定),而“stuff”则是这个量的成员内容,它可以是常量、公式甚至是一个简易循环结构体。值得研究的是,在define定义标识符时,是否需要在结尾加一个“;假设我们加上“;max = MAX;//MAX被替换为"666;如图,若在define定义标识符后带上分号,那么MAX就会被替换为“666;”,则原代码中会出现两个分号连续出现的情况,代码会报错。

2023-10-17 20:55:19 24

原创 浅析 # 自定义类型三兄弟的重难点

int height;//声明类型的同时定义变量struct Stu Zhaoliu = {20,175,"保密"};上述代码为标准的结构体定义与初始化,但其中出现的在声明类型的同时定义变量,会有以下两个缺点:① 代码可读性变差:将类型声明和变量定义放在一起可能会导致代码可读性较差。如果类型定义较复杂,同时又有多个变量需要定义,代码可能会变得冗长。这可能会使代码更难理解和维护;

2023-10-02 23:09:31 29 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除