摘要: 1. 树的基本概念 树与链表,栈和队列不同, 是一种非线性的数据结构, 它由n (n>=0) 个有限结点组成一个具有层次关系的集合 把它叫做树,是因为存储在内存中的数据, 在逻辑上呈现一种树的形态, 只是根在上,叶在下 其次, 每一棵树都可以分为根(根结点)和子树(子节点), 子树又可以分为根和子树 阅读全文
posted @ 2023-05-24 11:37 许木101 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 1. explicit关键字 explicit是C++引入的一个关键字, 作用是禁止隐式类型转换, 下面一步一步来看 #include <iostream> using namespace std; class A { public: A(int val) :_val(val) { cout << 阅读全文
posted @ 2023-05-12 15:12 许木101 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1. 回顾构造函数 构造函数是6个默认的成员函数之一, 完成对象初始化的工作 而在构造函数中, 有两种初始化对象的方式, 初始化列表和函数体内赋值 首先来回顾一下用函数体内赋值方法进行初始化 #include <iostream> using namespace std; class Date { 阅读全文
posted @ 2023-05-10 17:01 许木101 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 1. const 关键字 在C语言中, const关键字用来修饰变量, 表示变量的值不能被修改 在C++中, const可以修饰变量, 也可以用来修饰对象和类成员变量 下面先来看一下, const 修饰对象 使用const修饰的对象d1, 调用成员函数报错, 这是为什么? 那么只要把this指针类型 阅读全文
posted @ 2023-05-10 15:36 许木101 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 本章首先提出一个问题以及对应的解决方法, 但是这种解决方法会有缺陷 以此引出运算符重载来改进这个解决方法, 目的是为了更好的理解运算符重载概念以及运算符重载解决了什么问题 之后详细说明运算符重载, 然后再运算符重载的基础上介绍赋值运算符重载 1. 概念引入 如何比较两个日期类对象的大小? 阅读全文
posted @ 2023-05-04 21:13 许木101 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 1. 拷贝构造函数 概念与定义 拷贝构造函数也是一个默认的成员函数, 其完成拷贝对象的工作 定义拷贝构造: 函数名与类名相同, 无返回值 拷贝构造函数的参数只能有一个, 且必须是类型对象的引用, 如下例 这里一定要注意, 形参必须是类型对象的引用或指针,否则会引发无穷递归调用,如下图 特性解析 1. 阅读全文
posted @ 2023-05-03 15:37 许木101 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 1. 概念引入 在说明构造函数和析构函数的概念之前, 首先看一个例子 下面这段代码是栈经典的应用场景括号匹配 如图, 栈首先必须初始化,然后在每一个return false之前都需要销毁栈, 否则就会有内存泄漏 这样很繁琐, 而且有些时候初始化和销毁很容易忘记写, 所以在C++中添加了默认的成员函数 阅读全文
posted @ 2023-04-29 11:42 许木101 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 1. this指针的概念与特性 this指针概念 首先来看一个例子 #include <iostream> using namespace std; class Date { public: void Init(int year, int month, int day) { _year = year 阅读全文
posted @ 2023-04-28 11:33 许木101 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 1. 对象存储规则 类实例化出的对象, 有成员变量和成员函数, 它们是存储在对象的? 实际上, 只有非静态的成员变量存储在对象中, 而成员函数是存储在公用代码段中, 如下图 现在知道了成员变量存储在对象中, 成员函数在公用代码段, 那么成员变量在内存中是如何存储的 对象中的成员变量在存储时需要遵守内 阅读全文
posted @ 2023-04-28 09:36 许木101 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 1. 如何计算结构体大小 如果要计算一个结构体的大小, 首先需要掌握内存对齐的规则 1. 第一个成员在与结构体变量偏移量为0的地址处 2. 从第二个成员开始, 每一个成员都要对齐到一个对齐数的整数倍处 对齐数: 结构体自身成员大小与默认对齐数的较小值 在VS编译器中, 默认对齐数为8, 在Linux 阅读全文
posted @ 2023-04-26 16:04 许木101 阅读(31) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示