自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 输入输出流(c++)

程序的输入是指从输入文件将数据传送给程序,程序的输出是指从程序将数据传送给输出文件。c++的输入输出包括下面3个方面:1.对系统指定的标准设备输入输出,即从键盘输入,输出到显示屏。也叫标准I/O。2.一外存磁盘(或者光盘)文件进行输入输出。这种以外存文件为对象的输入输出叫做文件的输入输出,简称文件I/O。3.对内存指定空间的输入输出简称文件I/O,通常指定一个字符数组作为存储空间。叫做字符串输入输出,简称串I/O。

2024-09-09 20:06:53 259

原创 继承与派生(c++)

有的时候我们会遇到一个类中包含了很多已经声明过的类中的成员,这个时候就不想再去重新声明。就像是我们声明了一个马的类,我们还想声明一个公马的类,我们希望只加入性别这么一个成员变量,而其他马的性质可以通过继承已经声明过的马的类。一个新类从已有的类中获得自己已有的特性叫做类的继承。从已有的类(父类)产生一个新的子类称为类的派生。可以理解到:派生类是比基类更加具体的,而基类的派生类的抽象。

2024-09-09 08:30:09 745

原创 多态性与虚函数(c++)

在c++程序设计中,多态性是指具有不同功能的函数可以是同一个函数名。所以函数重载跟运算符重载都是函数的多态性的体现。其实多态性在生活中也有体现,比如说校长发布说明天要开学了,对于这么同一个消息,学生要补作业,老师要备课,家长要早起做饭...。从系统实现的叫角度来看,多态性分为静态多态性和动态多态性。静态多态性是在程序编译时就能决定调用哪一个的,有被称为编译时的多态性。静态多态性就是通过函数重载实现的。动态多态性是在程序运行过程中才动态地确定操作所针对的对象。又被称为运行时多态性。

2024-09-05 16:10:28 781 1

原创 二叉树(c语言)

【代码】二叉树(c语言)

2024-08-21 17:45:12 160 1

原创 函数栈帧的创建和销毁(C)

main函数也是被其他函数调用的,mainCRTStartup函数调用了__tmainCRTStartup函数,而__tmainCRTStartup函数又调用了main函数。在使用参数的时候是找到原来压栈时的空间的值,注意啊,这里的值时放在跟原来不同的空间中的,可以理解为新的变量,是原来变量的临时拷贝,所以改变形参并不能改变实参。每一次调用函数,都会去更低地址的栈区(因为内存的使用是从高地址到低地址使用的)上维护属于这个函数的函数栈帧。函数的参数就先被以压栈的形式传到低地址保存。

2024-08-17 11:03:33 327 5

原创 预编译(预处理)详解

预处理,宏

2024-08-16 11:37:47 810 1

原创 c语言编译链接

3.开始执行程序代码。编译时,每一个.c文件会独立的编译成一个.obj的目标文件,然后链接器将一个工程中所有的.obj目标文件链接起来形成一个.exe的可执行文件。--处理#include预编译指令,将包含的头文件内容插入到该预编译指令的位置,这个过程是递归进行的,也就是说被包含的头文件也 可能包含其他文件。这里的分析指的是语义的静态分析,通常包括:声明和类型的匹配,类型的转换等。将生成的.i文件输入到扫描器进行简单的词法分析,把代码中的字符分割成一系列的标记(关键字,标识符,字面量,特殊字符等)

2024-08-15 16:41:29 562 4

原创 快排之自省排序(蒟蒻写)

是introspective sort的缩写,introspective的意思是内省的。他的名字就表达了他的思路,思路就是进行自我侦察反省,快排递归太深那就说明在这种数据序列下,选key出现了问题,性能在快速的退化,那么就不要再用快排分割递归了,该换为堆排序进行排序。

2024-08-15 11:29:19 138

原创 c语言排序大全

【代码】c语言排序大全。

2024-08-14 20:26:44 344

原创 快速排序的深入优化(蒟蒻版三路划分)

决定快排性能的关键是每次单趟排序后,key对于数组的划分,如果key每次都能基本剧中二分,那么快排的递归树就是一棵均匀的满二叉树,性能也就最好。但是如果每次选的key都是最大值或者最小值那么每一次只能划分成0个跟n-1个子问题,时间复杂度就是 O(n^2),数组序列有序时就会出现这样的状况,可以使用三数取中或者随机选key解决这个问题,但是如果这个带排序的数组中有很多重复的数据,那么也是无法得到很好的解决的。

2024-08-14 18:03:23 249

原创 c++实现日期类

date.cpp文件代码:test.cpp测试文件代码:下面是文中提到的一些细节:如果觉得有帮助的话点个赞和关注,本人会尽快更新。

2024-08-14 15:36:30 144 2

原创 c++类与对象(下)(注意:我的附庸的附庸不是我的附庸)

2.构造时有资源的申请如malloc。calloc,fopen等等,就需要显示的写析构函数(就是你是有空间需要释放的)但是如果是你的成员变量是类或者结构体,他自己是应该有自己的析构函数的,如果这个类或结构体中没有指向的资源,就不用写析构函数,在调用默认的析构函数时会调用对应的类的或结构体的析构函数。6.重载++或者--运算符时,有前置的和后置的,但是其运算重载函数的函数名都是operator++或者operator--所以c++规定对于后置的++--,增加一个int形参,跟前置的构成函数重载,得以区分。

2024-08-13 20:29:44 276 1

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

3.对象实例化时系统会自动调用对应的构造函数。对对象的实例化时初始化对象。4.构造函数可以重载(函数重载)2.无返回值(不用写void)1.函数名与类名相同。

2024-08-10 22:03:06 145 2

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

c++中的struct也可以定义类,c++兼容c中struct的用法,同时struct升级成了类,明显的变化是struct中也可以定义函数吗,但是还是推荐使用class定义类。c++实现了一种封装的方式,用类将对象的属性和方法结合在一块,让对象更加完美,通过访问权限选择性的将其接口提供给外部的用户使用。访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现为止,如果后面没有访问限定符就到}为止。类的定义:class为类定义的关键字,跟struct非常的相似,区别在与class可以定义成员函数。

2024-08-08 17:27:28 178 6

原创 c语言实现贪吃蛇

【代码】c语言实现贪吃蛇。

2024-08-08 12:10:45 90 4

原创 c++入门 (蒟蒻版)

是input output stream的缩写,是标准的输入输出流库,定义了标准的输入输出对象。

2024-08-07 15:56:28 480 7

原创 水冗的——c语言笔记

注意当我们在使用函数传参时,我们传的是一个地址,所以依然可以用strlen()来数组的长度,不可以sizeof()来计算,因为此时sizeof()计算的是这个地址的大小,地址的大小跟编译器有关。字符串实质上是一个字符数组,他是一个数组。,事实上这个字符串的末尾是字符'\0', 编译器会根据首元素的地址找到后面的所有元素,直到找到'\0'为止。strlen()是库函数里的一个函数,是专门计算字符串长度的,只能针对字符串,从参数给定的地址,向后一直找'\0',统计'\0'之前出现字符的个数。

2024-03-28 20:03:35 186

空空如也

空空如也

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

TA关注的人

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