自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C的程序环境和预处理

这些预定义符号都是语言内置的。举个栗子:FILELINE语法:1000register//为 register这个关键字,创建一个简短的名字for;;# define MAX 1000 # define reg register //为 register这个关键字,创建一个简短的名字 # define do_forever for(;;) //用更形象的符号来替换一种实现 # define CASE break;case //在写case语句的时候自动把 break写上。

2024-07-19 22:10:24 607

原创 08day_C++模板(初阶)

class 类模板名// 类内成员定义//类模板public:, _size(0){}~Stack()private:T* _array;//类外生命成员函数也要加模板,否则编译器不认识//直接new异地扩,再拷贝过来//释放原来的空间++_size;

2024-07-18 09:14:05 760

原创 07day-C++内存管理

int main()//new/delete和malloc/free最大的区别就是new/delete对于【自定义】类型//除了开空间还会调用构造与析构函数//调用构造//调用析构//内置类型是几乎是一样的free(p3);delete p4;//数组中的每个元素都会调用一次构造与析构free(p5);delete[]p6;return 0;注意。

2024-07-17 08:53:35 1246

原创 指针(进阶)

可见数组名和&数组名打印的地址是一样的。难道两个是一样的吗?

2024-07-16 12:06:08 901

原创 指针(初阶)

指针变量,用来存放地址的变量。(存放在指针中的值都被当成地址处理)。那这里的问题是:一个小的单元到底是多大?(1个字节)如何编址?经过仔细的计算和权衡我们发现一个字节给一个对应的地址是比较合适的。对于32位的机器,假设有32根地址线,那么假设每根地址线在寻址的时候产生高电平(高电压)和低电平(低电压)就是(1或者0);那么32根地址线产生的地址就会是:这里就有2的32次方个地址。

2024-07-16 11:24:41 737

原创 C文件操作

磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。根据文件指针的位置和偏移量来定位文件指针。

2024-07-15 14:58:01 932

原创 06day-C++类和对象(下)

• 尽量使⽤初始化列表初始化,因为那些你不在初始化列表初始化的成员也会⾛初始化列表,如果这个成员在声明位置给了缺省值,初始化列表会⽤这个缺省值初始化。• 之前我们实现构造函数时,初始化成员变量主要使⽤函数体内赋值,构造函数初始化还有⼀种⽅式,就是初始化列表,初始化列表的使⽤⽅式是以⼀个冒号开始,接着是⼀个以逗号分隔的数据成员列表,每个"成员变量"后⾯跟⼀个放在括号中的初始值或表达式。• 引⽤成员变量,const成员变量,没有默认构造的类类型变量,必须放在初始化列表位置进⾏初始化,否则会编译报错。

2024-07-14 13:33:20 1274

原创 05day--C++日期类的实现与取地址运算符的重载

• const实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进⾏修改。const 修饰Date类的Print成员函数,Print隐含的this指针由 Date* const this 变为 const Date* const this。• 将const修饰的成员函数称之为const成员函数,const修饰成员函数放到成员函数参数列表的后⾯。取地址运算符重载分为普通取地址运算符重载和const取地址运算符重载,⼀般这两个函数编译器⾃动。⽣成的就可以够我们⽤了,不需要去显⽰实现。

2024-07-13 19:27:27 473

原创 04day-C++类与对象(中)

析构函数与构造函数功能相反,析构函数不是完成对对象本⾝的销毁,⽐如局部对象是存在栈帧的,函数结束栈帧销毁,他就释放了,不需要我们管,C++规定对象在销毁时会⾃动调⽤析构函数,完成对象中资源的清理释放⼯作。我们不写,编译器默认⽣成的构造,对内置类型成员变量的初始化没有要求,也就是说是是否初始化是不确定的,看编译器。构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任务并不是开空间创建对象(我们常使⽤的局部对象是栈帧创建时,空间就开好了),⽽是对象实例化时初始化对象。

2024-07-12 18:16:46 1841

原创 03day-C++类和对象

• class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或者成员函数。• 为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_ 或者 m开头,注意C++中这个并不是强制的,只是⼀些惯例,具体看公司的要求。

2024-07-11 15:13:21 737

原创 02day-C++学习(const 指针与引用的关系 inline nullptr)

注意事项• 可以引⽤⼀个const对象,但是必须⽤const引⽤。const引⽤也可以引⽤普通对象,因为对象的访问权限在引⽤过程中可以缩⼩,但是不能放⼤。• 不需要注意的是类似 int& rb = a3;这样⼀些场景下a3的和结果保存在⼀个临时对象中, int& rd = d 也是类似,在类型转换中会产⽣临时对象存储中间值,也就是时,rb和rd引⽤的都是临时对象,⽽C++规定临时对象具有常性,所以这⾥就触发了权限放⼤,必须要⽤常引⽤才可以。

2024-07-09 23:01:20 585

原创 01day C++初入学习

在C/C++中,变量、函数和后⾯要学到的类都是⼤量存在的,这些变量、函数和类的名称将都存在于全局作⽤域中,可能会导致很多冲突。使⽤命名空间的⽬的是对标识符的名称进⾏本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。c语⾔项⽬类似下⾯程序这样的命名冲突是普遍存在的问题,C++引⼊namespace就是为了更好的解决这样的问题int main()// 编译报错:error C2365: “rand”: 重定义;以前的定义是“函数”return 0;

2024-07-08 18:23:48 701

原创 队列的链表实现

【代码】队列的链表实现。

2024-05-14 17:13:13 174

原创 栈的数组实现

【代码】栈的数组实现。

2024-05-14 17:11:30 439

原创 ---函数模板---

5.普通函数与模板函数的区别。2.函数模板注意事项。6.函数模板数组案例。

2024-05-02 16:59:26 420

原创 ---文件操作---

---------------------二进制读文件----------------------------

2024-05-02 10:29:39 1166

原创 多态--电脑组装具体实现

【代码】多态--电脑组装具体实现。

2024-05-01 15:50:07 11

原创 虚析构与纯虚析构

2. 法二:利用纯虚函数,但要在类外有具体的函数实现,且无法实例化对象。cout

2024-04-30 19:47:06 447

原创 多态案例(制作饮品)

多态:一个接口能够有多种形态。

2024-04-30 17:04:45 315

原创 纯虚函数与抽象类

【代码】纯虚函数与抽象类。

2024-04-29 17:59:21 84

原创 ---多态实现计算机---

【代码】---多态实现计算机---

2024-04-29 17:58:57 64

原创 随机链表的复制

【代码】随机链表的复制。

2024-04-29 14:28:29 127

原创 --菱形继承--

v虚继承实质上是两个类对象指针指向同一个m_Age,一个偏移量为8,一个为4。来自黑马视频,我只是在这做笔记。

2024-04-28 18:47:05 120

原创 --继承的使用--

此些截图都是来源于黑马程序员,我也只是把写文章当作我自己的笔记而已哈,所以写到我自己能够理解的程度就可以了。4.继承中同名静态成员处理(静态成员可以通过类名来访问父类)3.继承中的构造和析构顺序。继承中的同名成员处理。

2024-04-28 18:06:23 451

原创 运算符重载(2)

2.关系运算符(==!3.函数调用运算符重载。

2024-04-28 13:00:53 118

原创 运算符重载(1)

/如果这里用引用的话&operator++,这里会返回局部变量的引用,该函数调用完后temp被释放,后面再解引用后会造成非法操作了。//这里cout的函数类型是ostream,这里cout前加引用是为了保证cout的唯一,引用即给cout起别名的意思。//其实本质就是不用引用返回,每次返回的就是一个新对象,拷贝调用原则。//为了能够连续cout

2024-04-28 01:45:50 324

原创 引用的本质 指针常量

cout<<ref<<endl 时,实质上系统自动帮忙解引用,并输出该值。

2024-04-28 01:02:51 88

原创 字符串变量 字符串常量

前两个字符串常量都不可以改变。

2024-04-28 00:11:07 268

原创 友元函数(全局 类 成员函数)

我在敲这个代码时有一个思考,为什么一定要用指针呢,我又没有要改变变量的值,所以我去掉了指针,结果出现了超前引用的问题。cout

2024-04-27 00:49:15 556

原创 【无标题】getchar gets scanf

例如输入为"\nhello\n",也就是说,先输入一个空行,然后在第二行输入"hello"并回车。scanf按照它的读取原理,把第一个’\n’作为空白符忽略掉,然后读取字符串"hello",遇到第二个’\n’时输入结束,但是第二个’\n’会被scanf残留在缓冲区里。当用gets进行读取时,它遇到第一个’\n’,就找到了它的输入分隔符,停止继续输入,第一个’\n’被从缓冲区中读走了,缓冲区里剩下"= '\n')//不断接收字符,直到接收到'\n'!printf("请确认密码->Y/N\n");

2024-04-26 23:16:16 833

原创 const修饰成员函数

【代码】const修饰成员函数。

2024-04-26 16:36:18 64

原创 空指针访问成员函数

【代码】空指针访问成员函数。

2024-04-26 15:59:18 385

原创 C++中类对象的字节大小

当类中什么也没有时,创建一个类对象p1时,占字节大小为1.

2024-04-26 15:42:23 106

原创 C++中的this指针笔记

【代码】C++中的this指针笔记。

2024-04-26 15:40:18 426

原创 相交链表的判断(leetcode)

思路二 :先不顾两条链表的长短,先走到尾结点的链表跳到另外一个链表的头节点,这样也实现了先走差距步的效果。两条链表难免会出现长度不一样的情况,先让长的链表先走差距步。思路一:先判断两个链表的最后一个结点是否相同,若相同,则会有结点。来自力扣题解中一位大神的思路!

2024-04-25 10:31:44 705

原创 链表的回文结构

将逆置后的链表与未逆置的链表挨个比较,若不同,则不对称。只要走到rmid或者A下一个结点为空时结束比较。这就是找链表中间结点,与逆置的结合问题。回文结构就是判断这个链表是不是对称的。右奇数链表的对称,也有偶数链表的对称。

2024-04-24 20:19:00 190

原创 反转链表(力扣)

步骤:将n2的next指向n1,再n1放到n2的位置,n2放到n3的位置,循环到最后一个指针的指向反转,此时n2为空,n3为未知区域,因此再n3移动时,要加一个if语句判空,不然代码会出现错误,最后头节点变为了n1,因此时返回n1结点。n1置空,n2置为头节点,n3置为头节点的下一个节点。思路:设三个指针,画图求解。

2024-04-24 18:28:48 380

原创 返回倒数第k个节点(力扣)

思路:快慢指针,fast指针先走k步,然后快慢指针一起走。

2024-04-24 17:37:25 402

原创 轮转数组(力扣)

时间复杂度(往往考虑最坏的情况)为O(n^2) (最坏情况下 K*M =(N-1)*N)先前n-k个逆置,在后k个逆置,最后整体逆置。

2024-04-24 10:45:15 552

原创 消失的数字(力扣)

类似于找单身狗的问题,0^任何数都等于被异或的那个数,相同的数异或为0。

2024-04-24 09:47:53 325

空空如也

空空如也

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

TA关注的人

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