
C++
倚忆易逸
待到秋来九月八,我花开尽百花杀
展开
-
C++中虚析构函数的作用
作用:正确释放所有指向子类对象的指针或是引用。1,实例代码,基类虚析构函数;即正常调用基类和子类构造函数,然后调用子类和基类析构函数;2,示例代码,基类析构函数非虚函数;即构造时调用了基类和子类构造函数,但是只析构了基类构造函数,可能造成内存泄露。...原创 2020-10-23 20:18:44 · 255 阅读 · 0 评论 -
const关键字
1,如果关键字const出现在星号左边,便是被指物是常量;如果出现在星号右边,表示指针自身是常量;如果出现在两边,便是被指物和指针都是常量。(不定期持续更新。。。)原创 2020-10-08 20:17:43 · 129 阅读 · 0 评论 -
C++智能指针与容器
1,智能指针默认删除了复制构造函数,所以在使用智能指针过程中一旦无意中用到了其复制构造函数,便会出现C2280的错误,显示引用已经删除的函数。2,标准容器中存放的元素为智能指针时,应该返回为这个容器的引用,且最好是常引用,若是直接返回整个容器,便会调用复制构造函数;当vector使用resizer扩容时,会将对应的容器元素默认构造,那么std::unique_ptr默认构造会产生一个为NULL的指针,智能指针便不再生效,在使用前一定要初始化,出现尝试引用已删除的函数。3,返回智能指针时,可用std:原创 2020-09-27 11:26:03 · 1396 阅读 · 0 评论 -
error C2143: 语法错误 : 缺少“;”(在“*”的前面)
error C2143错误可能出现的原因,在返回类模板中自定义的类型时,需要在定义的函数前加上typename关键字,必须显式告知编译器ModeTree是模板类参考链接,vs官网https://docs.microsoft.com/zh-cn/cpp/error-messages/compiler-errors-1/compiler-error-c2143?view=vs-2015...原创 2020-09-05 18:02:17 · 1024 阅读 · 0 评论 -
十大排序算法
//希尔排序void ShellSort(int data[], int arrSize){ int i, j, hCnt, h; int increments[20], k; for (h = 1, i = 0; h < arrSize; i++) {//创建增值数组 increments[i] = h; h = 3 * h + 1; } for (i--;i>=0;i--) {//遍历增值数组,创建不同的子数组 h = increments[i]; for原创 2020-07-22 21:51:20 · 334 阅读 · 0 评论 -
详细讲解二叉树三种遍历方式的递归与非递归实现
二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此采用递归的方法实现三种遍历,不仅代码简洁且容易理解,但其开销也比较大,而若采用非递归方法实现三种遍历,则要用栈来模拟实现(递归也是用栈实现的)。下面先简要介绍三种遍历方式的递归实现,再详...转载 2020-07-07 21:22:34 · 1488 阅读 · 0 评论 -
深入理解vector list deque——存储结构机理
先来看一下 c++标准模板库中,容器类vector、list 、deque都属于顺行性容器(所谓顺序性容器是一种各元素之间有顺序关系的线性表,是一种线性结构的可序群集,每个元素都有固定的位置,这个位置与元素无关,只与插入删除的先后顺序有关);都可以用来存储一组类型相同的对象;不同于内置数据类型数组的是,vector、list、...转载 2020-06-23 21:37:17 · 305 阅读 · 0 评论 -
C++const用法总结
为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数:&n...转载 2020-06-23 11:13:26 · 268 阅读 · 0 评论 -
C++之数据结构与算法
C++之数据结构与算法转载 2020-06-21 14:56:38 · 145 阅读 · 0 评论 -
C++之设计模式
C++设计模式——简单工厂模式C++设计模式——工厂方法模式C++设计模式——抽象工厂模式C++设计模式——单例模式C++设计模式——建造者模式C++设计模式——原型模式C++设计模式——适配器模式C++设计模式——桥接模式C++设计模式——组合模式C++设计模式——装饰模式C++设计模式——外观模式C++设计模式...转载 2020-06-21 14:41:40 · 103 阅读 · 0 评论