自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++中的继承

其中,class person 为基类,class teacher 为子类,:后跟的protected为继承方式。继承方式包括:public,protected,provate。,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,,增加功能,这样产生新的类,称派生类。的最重要的手段,它允许程序员在。机制是面向对象程序设计。

2022-11-10 22:41:18 219 1

原创 Linux迷你小shell

本文详细说明了简易shell的程序代码

2022-06-01 17:04:41 155

原创 仿函数(类函数)

仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。 在我们写代码时有时会发现有些功能的实现的代码,会不断的在不同的成员函数中用到,但是又不好将这些代码独立出来成为一个类的一个成员函数。但是又很想复用这些代码。写一个公共的函数,可以,这是一个解决方法,不过函数用到的一些 变量,就可能成为公共的 全局变量,再说为了复用这么一片代码,就要单立出一个函数,也不是很好维护。这时就可以用仿函数了,写一个简单类,除了

2022-05-12 17:57:22 163

原创 gcc中的预处理、编译、汇编、链接

预处理:功能主要包括宏定义,文件包含,条件编译,去注释等 编译:在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言。 汇编:生成机器可识别代码 连接:生成可执行文件或库文件 ...

2022-04-05 16:04:01 212

原创 list的特点

1.与其他序列式容器相比,list和forward_list最大的缺陷是不支持任意位置的随机访问,比如:要访问list的第6个元素,必须从已知的位置(比如头部或者尾部)迭代到该位置,在这段位置上迭代需要线性的时间开销;list还需要一些额外的空间,以保存每个节点的相关联信息(对于存储类型较小元素的大list来说这可能是一个重要的因素) 2.list的迭代器失效 前面说过,此处大家可将迭代器暂时理解成类似于指针,迭代器失效即迭代器所指向的节点的无效,即该节点被删除了。因为list的底层结构为带头结点的双向循

2022-02-23 11:04:56 277

原创 vector的迭代器失效问题

迭代器的主要作用就是让算法能够不用关心底层数据结构,其底层实际就是一个指针,或者是对指针进行了封装。 因此迭代器失效:实际就是迭代器底层对应指针所指向的空间被销毁了,而使用一块已经被释放的空间,造成的后果是程序崩溃(即如果继续使用已经失效的迭代器,程序可能会崩溃) ...

2022-02-19 11:49:37 241

原创 linux下基本指令

ls指令:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 pwd命令:显示用户当前所在的目录 cd命令:改变目录名 touch命令:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件 mkdir指令:在当前目录下创建一个目录 rmdir指令:删除一个目录 rm指令:删除文件或者目录 man指令:查看其它指令 cp指令:复制文件或目录 mv指令:用来移动文件或目录 cat指令:查看文件内容 more指令:查

2022-01-21 20:10:26 875

原创 c++string实现

# define _CRT_SECURE_NO_WARNINGS 1 # include<string.h> using namespace std; # include <iostream> #include<algorithm> # include < utility > # include<string> # include<assert.h> namespace bit { class string { ...

2021-11-22 15:40:58 171

原创 模板—初识

c++模板主要分为函数模板和类模板。

2021-11-03 15:44:30 44

原创 内存管理1

2021-11-03 15:40:13 30

原创 类和对象1

类会自动生成6个成员函数:1.构造函数。2.析构函数。3.拷贝构造。4.赋值重载。5.取地址重载

2021-11-03 15:30:56 32

原创 2021-10-03

c++总计共有63个关键字,C语言只有32个,c++接近c语言的两倍。 c++中用namespace定义命名空间,命名空间既可以定义变量,也可以定义函数,命名空间也可以嵌套。同一个工程中,可以有多个相同名称的命名空间,编译器会将他们合并。命名空间的使用方式有两种:1.N::a。2.using namespace a。 使用cout和cin必须包含头文件<iostream>。c++的输出cout<<"hello world!"<<endl; c++不需要控制输出的格.

2021-10-03 18:51:33 33

原创 2021-09-05

栈和队列 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作也叫出栈,出栈只能在栈顶。 1.2队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out) 入队列:进行...

2021-09-05 21:05:57 34

原创 栈的概念和结构

1.栈的概念和结构。一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 2.栈的实现。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的 代价比较小。 ...

2021-09-02 10:56:05 56

原创 程序的编译

1.程序的翻译环境 定义:将源代码转换成机器指令的环境。组成一个程序的每个源文件通过编译过程分别转换成目标代码;每个目标文件由链接器捆绑在一起,形成一个单一而完整的可执行程序;链接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可以搜索程序员个人的程序库, 将其需要的函数也链接到程序中。 2.预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的...

2021-08-18 20:14:32 77

原创 动态内存管理

1.malloc函数 void *malloc(int size); 功能:动态开辟了一块size个字节的空间,并将开辟空间的首地址返回。当开辟内存失败的时候返回空指针NULL。 2.free函数 void free (void* ptr); 功能,释放已经开辟的ptr指向的空间 3.calloc函数 void *(int num,int size); 功能:为num个大小为size个字节的元素开辟出一块空间,并将空间的每个字节都初始化为0,最后将开辟空间的首地址返回。 4.reall..

2021-07-31 17:18:18 28

原创 联合(共用体)

联合定义:联合也是一种特殊的自定义类型 这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以 联合也叫共用体)。 联合的大小至少是最大成员的大小; 且要对齐到最大对齐数的整数倍。 ...

2021-07-18 21:20:56 70

原创 2021-06-26

1.结构体 定义:结构体是一些值的集合,这些值被称为成员变量,结构的每个成员可以是不同类型的变量。 例:struct { int a; int b; char k[3]; }; 注意的是相同结构的结构体,如果声明了两次,会被系统认为是两个结构体。 1.1结构体的内存存储方式 (1)第一个成员在与结构体变量偏移量为0的地址处; (2)其他成员变量要对齐到某个数字(对齐数)的整数倍处; (3)对齐数=编译器自定的一个对齐数和该成员大小相比较的较小值; (4)结构体总大小为最大对齐数的整数倍; (5)如果结构体中

2021-06-26 11:43:16 35

原创 2021-05-28

C语言的存储 c语言的数据类型主要分为: char(字符型),内存中为1个字节,以整数的形式存储在内存里。 short(短整形),内存中为2个字节。 int(整形)内存中为4个字节。 long(长整形) 内存中为4个字节。 long long(长长整形),内存中为8个字节。 float(单精度浮点数),内存中为4个字节。 double(双精度浮点数),内存中为8个字节。 c语言中数据存储在内存中分为大端存储和小端存储两种类型。 大端存储:一个数据的正向存储即为大端存储,即一个数的高位数字对应着低地址,低位数

2021-05-29 16:01:47 34

原创 2021-05-02

c语言实现扫雷小游戏 define _CRT_SECURE_NO_WARNINGS 1 pragma warning(disable:6031) include “head.h” int main() { int a=0; srand((unsigned)time(NULL)); do { menu(); scanf("%d", &a); switch (a) { case 0: printf(“退出游戏!\n”); break; case 1: printf(“开始游戏!\n”); game();

2021-05-02 23:05:56 59

原创 2021-04-24

三子棋的编程 第一步先构建主函数:构建简易菜单,并构建3个选项,玩游戏,不玩游戏和退出游戏,具体结构见以下代码: int main() { int a; do { menu(); scanf("%d", &a); switch (a) { case 1: game(); break; case 0: printf(“谢谢玩耍,奴婢告退!\n”); break; default: printf(“请陛下重新翻牌!\n”); break; } } while (a); return 0; } 第二步,实

2021-04-24 22:35:10 31

原创 2021-04-02

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示; 全新的 KaTeX数学公式 语法; 增加了支持甘特图的mermaid语法1 功能; 增加了 多屏幕编辑 Markdown文章功能; 增加了 焦点写作模式、预览

2021-04-02 17:51:03 26

空空如也

空空如也

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

TA关注的人

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