摘要: Git、Github、Gitlab与Gitee之间的关系 Git 是一种版本控制系统,是一个命令,是一种工具,有点像cmd(命令行工具)。 Github 是一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱。 Gitlab 类似 github,一般用于在企业内搭建git私服,要自己搭环 阅读全文
posted @ 2023-03-01 18:31 修竹Kirakira 阅读(250) 评论(0) 推荐(0) 编辑
摘要: [1] Windows 错误处理 1. 关于windows系统函数的返回值错误处理 VOID:这个函数不可能失败 BOOL:如果函数调用失败,返回值为0,即为FALSE,否则为非0值,即为TRUE HANDLE:如果函数失败,返回NULL,否则HANDLE将标识一个可以操控的对象 某些函数会返回为I 阅读全文
posted @ 2023-02-28 11:09 修竹Kirakira 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 1. 菱形继承 1)概念 ​ B,C继承自A,D继承自B,C 2)问题 ​ 一个派生类中保留间接基类的多份同名成员,可能出现命名冲突和冗余数据问题 2. 虚继承 c++代码示例: #include <stdio.h> //定义家具类,虚基类,等同于类A class Furniture { publi 阅读全文
posted @ 2023-02-28 10:42 修竹Kirakira 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 1. 纯虚函数 1)概念 ​ 在虚函数的声明结尾处添加“=0”,这种虚函数被称为纯虚函数,是一个没有实现只有声明的函数 2)作用 ​ 为了让类具有抽象类的功能,让继承自抽象类的子类都具有虚表以及虚表指针 3)纯虚函数在虚表中的处理 ​ 因为纯虚函数没有实现代码,所以没有首地址。编译器为了防止误调用纯 阅读全文
posted @ 2023-02-26 19:35 修竹Kirakira 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 一、继承的基本概念 ​ 继承:子类继承父类的属性和行为 ​ 作用:代码复用 继承分类: 1. 按访问属性分为public、private、protected三类 1)public: 父类属性无更改,pubic, private, protected 仍是自己本身(子类成员函数可以访问父类的publi 阅读全文
posted @ 2023-02-26 19:28 修竹Kirakira 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 虚函数 1. 多态 ​ 对象的多态性需要通过虚表和虚表指针来完成 2. 虚表指针 1)位置 ​ 定义在对象首地址的前4字节处(32位)或前8个字节(64位)处 2)定义 ​ 一个二维指针,一个存储一个或多个虚函数地址的数组的数组名,类中的隐藏数据成员 3)初始化 ​ 通过编译器在构造函数内插入代码来 阅读全文
posted @ 2023-02-06 00:39 修竹Kirakira 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 1. 构造函数 1.1 概念 ​ 常用来完成对象生成时的数据初始化工作,支持函数重载,不可定义返回值,返回值为对象首地址,即this指针 拷贝构造函数:参数为对象地址,返回值为this指针 1.2 构造函数的调用时机 1.2.1 局部对象 在汇编里,关于局部对象的构造函数的识别的充分条件和必要条件 阅读全文
posted @ 2023-02-05 00:13 修竹Kirakira 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 对象 ​ 类的一个实例化。对象中的成员定义从低地址到高地址 1. 对象作为函数参数 ​ 对象传参时先将对象中的所有数据进行备份(复制),将复制的数据作为形参传递到调用函数中使用 隐患:拷贝数据中有申请的内存空间,浅拷贝只会拷贝地址不会拷贝数据,在调用函数中会调用一次析构函数释放复制出来的临时对象,在 阅读全文
posted @ 2023-02-04 22:49 修竹Kirakira 阅读(23) 评论(0) 推荐(0) 编辑
摘要: class 1. 概念 ​ 一组具有相同属性和行为的对象的集合,体现了面向对象的抽象和封装的两个特点 2. 语法: typedef class _MyClass_{ }; 3. C++四大特性 抽象:数据抽象,过程抽象,只关注目标有什么特点,不在意具体实现 封装:即隐藏对象的属性和实现细节,仅对外公 阅读全文
posted @ 2023-02-04 01:00 修竹Kirakira 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 从表层调用来看: 1. 名称/语法 一个是操作符,一个是调用函数(cdecl) int *v1 = new int;//无需指定内存块的大小 int *v2 = (int*)malloc(sizeof(int));//需显式指出内存块的大小 delete v1; free(v1); 2. 申请内存 阅读全文
posted @ 2023-02-03 23:17 修竹Kirakira 阅读(65) 评论(0) 推荐(0) 编辑