自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++内存管理

new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且new在申。如果ptr是空指针,则函数的行为类似于malloc,分配一个大小为字节的新块,并返回指向其开头的指针。如果size为零,返回值取决于特定库的实现(可能是空指针,也可能不是),但返回的指针不应被解引用。如果大小为零,则返回值取决于特定库的实现(可能是空指针,也可能不是),但返回的指针不应被解引用。请注意,此函数不会更改ptr本身的值,因此它仍然指向相同的(现在是无效的)位置。

2024-05-26 12:39:52 608

原创 类和对象(下)

对于非const对象既可以调用非const成员函数也可以调用const成员函数(权限缩小)而于const对象只能调用const成员函数,不能调用非const成员函数(权限放大)1.const成员函数不要传引用返回类内部的成员。2, const 成员函数不能够访问非const成员函数,而非const成员函数可以访问const成员函数。1.友元类的所有成员函数都可以是另一个类的友元函数,都可以访问另一个类中的非公有成员。友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在。

2024-05-01 13:54:06 9

原创 日期类(c++)

【代码】日期类(c++)

2024-04-28 17:09:21 130

原创 类和对象(中)

默认成员函数的特点:写了就不会自动生成,不写就就会自动生成。

2024-04-28 17:06:19 578

原创 C++类和对象(上)

声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。//成员函数 void print() {} //成员变量 int _day;int _month;int _year;类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名::在进行函数传参数时,为了防止函数参数名与类的成员变量名字冲突,一般都会在成员变量名字前面加上一个__day = day;} //成员变量 int _day;int _month;

2023-07-31 11:38:32 49 1

原创 初认C++(上)

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。//自定义命名空间 //test.cpp namespace cyh {//可以使用命名空间定义变量/函数/类型 int rand = 1;//命名空间可以嵌套定义命名空间 namespace A1 {} } } //3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。

2023-07-21 19:29:18 51 1

原创 堆排序的实现

堆(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:堆中某个结点的值总是不大于或不小于其父结点的值;堆总是一棵完全二叉树。将根结点最大的堆叫做最大堆或大根堆,根结点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。堆是非线性数据结构,相当于一维数组,有两个直接后继。

2023-07-09 20:32:33 90 1

原创 栈和队列的实现

栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。我们把允许插入数据和删除数据的一端称为栈顶(top),另一端称为栈底(bottom),不包含任何数据的一端称为空栈,栈又称为后进先出(Last In First Out)简称为LIFO的结构。

2023-07-06 11:38:11 66 1

原创 双向循环链表(带哨兵位)

首先定义一个结构体作为链表的一个节点//自定义 typedef struct ListNode {//链表元素 struct ListNode * next;//指向下一个链表的节点 struct ListNode * prev;//指向上一个链表 } ListNode;每当我们想要插入一个节点时,就需要开辟一个节点,为了方便使用,我们在这里创建一个函数ListNode * BuyLTNode(LTDataType x) //申请空间 {

2023-05-11 22:38:14 215 2

原创 单向链表的简单实现

typedef int SLlistNode //自定义一个类型,用来表示链表中有效数据的类型(这里用的是int) typedef struct SLlistNode {//链表的有效元素 SLTNode * next;} SLTNode;# include <stdlib.h> SLTNode * BuyLTNode(SLDatatype x) //空间的申请 {if(newhead == NULL) //当申请的节点为空时报错并返回 {return;

2023-05-08 22:04:28 105 4

空空如也

空空如也

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

TA关注的人

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