自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++之继承(通俗易懂版)

调试看看派生类是否含有基类的成员变量(1)private(基类的成员是private):如果基类成员(成员函数和成员变量)都是私有继承,那么派生类虽然继承基类,但基类成员在派生类中和在派生类外都是不可见。(2)protected(基类的成员是protected):派生类继承基类,虽然在派生类外不能访问基类成员,但在派生类中可以访问基类成员(3)public(基类的成员是public):派生类继承基类,既可以在派生类中访问基类成员,也可以在派生类外访问基类成员。1.通过以上的对于三种访问限定符的分析

2024-09-18 22:52:59 645

原创 模板(进阶)

template//N不是类型参数public:private:T _a[N];int main()//非类型模板参数是为了固定数组的大小(常量)return 0;这段代码是不是让我们实现了通过Array类的模板创建出了一个大小为100的整形数组。看到这里可能有老铁就会疑惑了,既然是常量,那么除了整形以外的其他内置类型能不能也充当非类型模板参数呢?

2024-09-14 21:43:28 947

原创 STL之my_list容器

list容器有这么多接口,我会从里面挑出常用的接口进行模拟实现。由于我们不知道list容器的类型是什么类型,所以我们需要搞个模板函数,对任意类型的list都适用。然后我们需要搞个类(私有的比较好,防止其他人修改成员变量)把list里面的成员给封装起来接下来我们需要把链表给初始化由于list不支持随机访问,我们只能通过迭代器进行访问list中的结点。所以我们先来实现list的迭代器的接口。由于list迭代器底层是一个指针,所以我们如果需要访问list和修改list,就需要对指针进行解引用和取地址,因

2024-09-02 17:19:12 1197

原创 STL之my_string容器(超详细版)

我们知道STL中已经帮我们实现好了string容器的各个接口,如果我们直接实现my_string就会和STL里面的string冲突,所以我们需要一个命名空间把my_string包围起来,防止和库里面的string冲突。然后我们就可以实现string的构造函数了,string创建对象时可能是带参也可能是不带参,所以我们需要实现两个构造函数,但是在前面我们学过一个缺省参数,所以我们可以把这两个构造函数结合起来实现。string构造对象时如果传的无参,我们就需要一个\0才能判断传参结束,所以这个缺省参数我们可

2024-08-12 14:40:00 586

原创 STL之string容器(超详细版)

笔者认为着里面有四个我们比较常用,所以笔者只分享这四个构造函数如何使用。

2024-08-09 17:04:15 717

原创 leetcode43. 字符串相乘

相乘,首先我们就知道了,这两个字符串转化成得数字有可能是0,如果==0,那么直接返回字符串0就行了,如果不为0,我们小学都学过乘法的竖式计算,我们可以先举个例,例如字符串123*字符串45,那么该如何做呢?首先我们肯定是得把字符串转化为数字,必须是一个一个字符的转化,因为题目要求不能直接转化,也不能使用大数相乘标准库,转化为数字后,就按照小学时我们给乘法排竖式的方式进行计算。我们可以看到题目是要求我们将两个字符串转化为。

2024-08-01 16:29:26 277

原创 函数模板和类模板

class Vector//vector不是具体的类,而是一个可以生成任何类型的类的模具public:, _size(0){}private:T* _pData;那么该如何在模板中实现在类中声明,在类外定义,其实也和非模板实现在类中声明,在类外定义差不多,class Vector//vector不是具体的类,而是一个可以生成任何类型的类的模具public:, _size(0){}// 使用析构函数演示:在类中声明,在类外定义。~Vector();

2024-08-01 14:33:52 878

原创 字符串相加(leetcode算法题)

public://定义end1和end2分别指向字符串num1和num2的末尾//存放数字相加的结果int sum=0;//存放相加后转成的字符串//用于存放字符串转化为数字//只要有一个位数>=0循环就不能停止//对字符串num1进行转化成数字elseval1=0;//对字符串num2进行转化成数字elseval2=0;//对竖式的每一列式子进行相加//对相加得出得结果>=10进行处理if(sum>9)carry=1;sum-=10;else。

2024-07-23 11:19:32 380

原创 C++动态内存的管理

我们来看看new和malloc对于自定义类型开辟空间的不同之处。delete p2;return 0;我们来看看这个代码运行的结果咋出现了调用构造函数和析构函数呢?是谁调用的呢?我们把malloc和free的函数进行注释掉,如果还调用构造函数和析构函数,那么证明是new和delete调用的构造函数和析构函数。

2024-07-16 12:06:31 549

原创 友元函数和友元类

class Time// 声明日期类为时间类的友元类,则在日期类中就直接访问Time类中的私有成员变量public:{}private:int _hour;class Datepublic:{}// 直接访问时间类私有的成员变量private:int _year;int _month;int _day;Time _t;

2024-07-15 11:23:18 306

原创 初始化列表和explicit关键字和static成员

1.每一个成员变量只能在初始化列表中出现一次。2.类中出现引用(在创建时就必须初始化了,而不是实例化时才进行初始化),const(只能进行一次的初始化3.自定义类型成员(且该类没有默认构造函数时)必须使用初始化列表进行初始化(没有默认的构造函数的自定义成员变量如果使用构造函数体进行初始化会调用它自身的拷贝构造函数,如果使用初始化列表会减少不必要的拷贝构造,提高效率4.尽量使用初始化列表进行初始化5.成员变量在类中的声明次序,就是成员变量初始化的顺序,与它在初始化列表中初始化的顺序无关。

2024-07-14 11:44:19 636

原创 C/C++内存分布

C/C++内存分布

2024-07-08 22:13:47 470 2

原创 赋值运算符重载和const成员函数和& const&函数

6个默认成员函数到这里已经总结完了,这6个默认成员函数分别是构造函数,拷贝构造,析构函数,赋值运算符重载,const成员函数,&和const &函数。

2024-07-07 21:54:16 682

原创 析构函数和拷贝构造函数

析构函数是为了完成清理工作的,但不是对对象本身的清理,局部对象的清理是由编译器自动完成的,析构函数是对对象中的资源的清理。拷贝构造,顾名思义就是对一个对象的拷贝呗。下面来判断一段代码,看看这个代码能否正常运行public:perror("malloc申请空间失败");return;_size = 0;_size++;s1.Push(1);s1.Push(2);

2024-07-04 23:03:58 669

原创 c++类和对象(中)

我们简单讲了6个默认成员函数是那6个成员函数,详细的讲解的默认成员函数的构造函数,构造函数的定义,构造函数的特征,带参和不带参的构造函数。篇幅有限,其他的默认成员函数在下篇博客在总结讲解。

2024-06-14 23:41:02 755

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

好了,C++类和对象上半部分到这里就结束了,我们在上半部分总结了,类的定义,类的实例化,类的大小,还顺带复习了c语言内存的对齐规则,最后总结了this指针的内容。

2024-06-11 23:58:30 392

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

定义一个类的成员有两种方式,可以在类的里面定义(和上面的一样) ,也可以在类外定义,那么如何在类的外面定义一个成员呢?在类外定义一个成员,需要指定这个成员所属的类。//定义一个日期的类//一般常用class关键字定义类class Datepublic://在类里面先声明在类外定义的函数//声明一般放在.h文件中private:int _year;//这里变量的命名为何会带_后面会解释int _month;int _day;//private的作用域就到这个为止了。

2024-06-08 23:23:16 956

原创 C++基础(引用和内联函数)

int a = 0;int& b = a;int& c = a;int& d = a;使用内联函数的汇编代码图,图中显示Add内联函数并没有在栈帧上开辟空间,而是直接展开了代码。注意:内联函数只是向编译器发出的一个请求,编译器可以拒绝该请求,将函数规模较小(即函数不是很长,具体没有准确的说法,取决于编译器内部实现)、不是递归、且频繁调用的函数采用inline修饰,否则编译器不会采用inline修饰。在定义一个指针时,需要给该指针初始化,在c语言中给指针初始化为空是int* a=NULL;

2024-06-05 19:52:55 1022

原创 C++基础

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参,则采用该形参的缺省值,否则使用指定的实参。可能定义读起来有点晦涩难懂,那么我们来画一画图吧!// 1、参数类型不同//2、参数个数不同void f()//3、参数类型顺序不同以上是简单的例子。

2024-06-02 10:35:27 415

原创 C++基础知识总结

这个就是一个命名空间还可以嵌套定义命名空间对于同名的命名空间,还会自动把它们合并起来2.输入输出。

2024-06-02 09:10:46 388 1

原创 HDU刷题总结(C语言版)

这连个知识点就是笔者今天笔者分享的,如果各位大佬有什么好的解决方法,请私信交流或评论区交流;好了今天就到这了,笔者会不定时更新一些有趣的c语言的知识点。

2024-05-25 21:10:02 667

原创 吃了就吐的栈和吃了就拉的队列

1.栈的实现可用顺序表和链表实现,但用顺序栈比较优,为什么呢?因为在顺序表中入数据代价比较小,在链表中入数据还得开辟结点保存结点,需要内存的代价比较大。链式栈的入数据的图示:这二者的优劣一目了然。由于静态顺序栈在实际 中不实用,这里我们只来了解动态的顺序栈。我们要构建一个能动态增长的顺序栈,要明白顺序栈中应该有什么内容,首先需要有一个整形指针指向一块内存空间,还有一个整形变量表示栈顶(毕竟出入数据都需要用到栈顶),还需一个变量表示栈的大小int top;// 栈顶// 容量}Stack;

2024-05-13 23:47:04 595

原创 透析Linux的安装包管理器yum和vim编辑器和gcc编译器

对于初学Linux者肯定会好奇在linux上安装软件为何如此"方便",并不像windows上安装软件还得到官网搜,在本文笔者会分软件管理是什么。软件管理器如何操作和对于软件管理器的总结三个部分来为有此疑惑的读者进行解惑;对于初学Linux者会很头疼于vim编辑器的使用,常常会因为指令不熟悉和不认识指令从而“无从下笔”,在本文笔者也会通过vim编辑器是什么,vim编辑器的指令操作和vim编辑器的总结三个部分带领读者深入了解vim编辑器;

2024-05-02 12:00:30 608 1

原创 链表(通俗易懂)

注意:图中箭头是人为想象出来的,内存中并不存在**由于本篇博客篇幅过于长了,笔者在下篇博客再对带头双向循环链表进行实现,以上就是笔者对单链表进行的总结,欢迎各位看官与笔者一起讨论。

2024-04-04 16:16:23 550 1

原创 数据结构内容总结(顺序表)yhk

笔者写本文有三个作用,1.笔者由于刚学完数据结构的内容想要对所学内容进行总结;2.笔者也想写出总结内容为读者提供复习的机会;3.笔者也希望能得到各位看官的笔者所总结内容的评价。笔者会用c语言实现代码提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-03-30 23:40:49 762

原创 C语言知识总结(数组)

对于c语言学习者来说,数组是c语言常用的内容,在c语言中,数组是非常重要的概念,它在内存管理、数据处理和函数传递等方面发挥着至关重要的作用。数组提供了一种存储和访问相同类型数据的方式,能够高效地存储多个数据元素。以上就是今天要讲的内容,本文仅仅简单介绍了数组的创建,遍历,传参。

2024-03-09 12:41:24 378

原创 扫雷小游戏进阶版(C语言小项目)

【代码】扫雷小游戏进阶版(C语言小项目)

2024-01-21 22:28:25 486 1

原创 三子棋小游戏(C语言小项目)

【代码】三子棋小游戏(C语言小项目)

2024-01-19 21:22:51 492 1

原创 C语言在数组中寻找单身狗的问题(剑指offor)

int i = 0;//用来装第一个单生狗//用来装第二个单生狗for (i = 0;i < sz;i++)//这一步是将arr数组中每一个元素都进行异或,从而寻找出两个单身狗//然后将这个两个单生狗进行异或for (i = 0;i < 32;break;for (i = 0;i < sz;i < sz;i++)printf("单生狗数字:%d %d\n", sum1,sum2);int main()

2024-01-14 22:13:32 528 1

原创 C语言输出一句话,统计英文句子里面有多少个英文单词

【代码】C语言输出一句话,统计英文句子里面有多少个英文单词。

2023-11-27 13:08:24 1125 1

原创 C语言数组简单应用(输出10个数中的最大值和最小值)

【代码】C语言数组简单应用(输出10个数中的最大值和最小值)

2023-11-20 22:12:07 2251 1

原创 C语言用函数输出100~1000的水仙花数(c语言基础编程题)

【代码】C语言用函数输出100~1000的水仙花数(c语言基础编程题)

2023-11-09 23:40:29 717 1

原创 C语言用数组实现判断任意个数是否是质数

#include <stdio.h>int main(){ int i=1;//设置一个变量来控制循环次数 int cont; int arr[10]={0}; //定义一个有10个元素的数组 for(i=1;i<=10;i++) { printf("请输入您要判断的数:"); scanf("%d",&arr[cont]);//读入数组元素 if(arr[cont]%2==0)//判断是不是素数 { printf("是质数:%d\n",

2023-11-02 00:06:33 164

原创 C语言用**输出优美的倒三角图案

注意:在控制**之间的空格需要有三个,控制*号前后也需要一个空格。

2023-10-25 16:07:29 1552 1

空空如也

空空如也

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

TA关注的人

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