240 发简信
IP属地:陕西
  • 虚析构函数的作用

    不要被这个名字吓住,其实他就是普通的析构函数变“虚”了,也就是增加了多态性。它的主要功能就是确保继承体系中的对象正确释放。例子:

  • 第七讲-图(中)

    最短路径 问题分类:单源,多源 无权图的单源最短路径用bfs就可以解决。按照递增(非递减)的顺序找出从源到各个定点的最短路。 负值圈一条边的权值为负,造成找最短路径的时候,一...

  • 第六讲-图(上)

    什么是图 表示多对多的关系 包含:一组顶点(vertex)一组边(edge)不考虑重边和自回路 图的表示方法 邻接矩阵。邻接矩阵结构用一个矩阵来表示两个顶点之间是否有边存在,...

  • 第五讲-树(下)

    树(下) 堆 优先队列:特殊的“队列”,取出元素的顺序是一招元素的“优先权(关键字)”大小,而不是队列的先后顺序。 这种优先队列的使用场景类似于,操作系统的进程调度,重要的操...

  • 第四讲-树(中)

    树(中) 二叉搜索(排序/查找)树 作用:为了进行二分查找,将数据构建在查找树中,相比与线性结构树的插入删除等动态操作更为方便。 定义 可以为空 若不为空,左子树的键值都小于...

  • 第二讲-线性表

    第二讲 什么是线性表 由同类型数据元素构成的有序序列结构。线性表可以用顺序存储结构,也可以使用链式存储结构。链式结构的插入删除复杂度低,顺序存储随机访问更快,并且在很多收顺序...

  • 第三讲-树(上)

    什么是树 一种层次结构,显示中有许多这样的结构,例如:企业部门,图书管理,国家机构,文件系统等。那为什么选择树呢————一个基本的原因是树形结构有着高效率的查找(搜索/检索)...

  • getter和setter

    在面向对想得编程中经过会碰到setter和getter这类访问接口,那么什么时候应该使用呢?使用它的好处是什么呢? 首先,访问函数的封装的一种手段,并不是用了访问函数就是封装...

  • 理解面向对象

    理解面向对象 阅读知乎大牛对面向对象的讨论后,写下自己的总结和理解。知乎 面向对象的原本特性 面向对象原本的特性(好处)是什么呢?在我们的课本中赫然的写着三个特性:封装、继承...

  • 条款1:视C++为一个语言联邦

    条款1:视C++为一个语言联邦 在这个特条款下,我理解了C++的全貌,它到底是一个什么样的编程语言,进而窥探到语言的编程范式。(均为自己翻阅资料后的理解,可能会有错误) 书中...

  • 基于两个灭点的相机标定

    基于两个灭点的相机标定 标签(空格分隔): 未分类 什么是灭点 在世界坐标系中相互平行的两条线,在图像中会相交于一点,这点在实际中表示的是无穷远处的点。 相机模型 相机模型以...

  • using shared_ptr in a class with private or protected constructor

    什么时候我们会再一个拥有保护或者私有构造函数的类中使用智能指针呢?这种其中就是我们想: 不愿意类的使用者自己构造类的对象,只能从类的内部产生对象。 想利用智能指针的便利性。 ...

  • 如何求数组中的最大值或者最小值

    在c++中经常会遇到求一个数组中的最大值或者最小值,那么如何初始化初始变量min和max呢?我经常的做法是,结合实际的场景,设置一个“自以为”很大的数字或者很小的数字来初始化...

  • cpp中友元的传递性

    c++中的友元不具有传递性 老子的朋友是老子的朋友,儿子的朋友是儿子的朋友 你是我的朋友,他是我的朋友,但你不是他的朋友 要想是两个类互为友元必须在两个类中都要声明对方。

  • CRTP

    这篇文章介绍了什么是CRTP(奇异的递归模板模式)原文stackflow上讨论了CRTP问题 我的理解 简而言之,就是基类是个模板类,模板参数是基类类型。 template ...

  • 第一讲-什么是数据结构

    第一讲 什么是数据结构 如何摆放图书馆的书??? 摆放图书馆的书与书的规模和对书要进行的操作有关。也就是说,如何确定一个问题的数据结构,需要考虑到问题的规模和程序中要进行的操...

  • 条款34:区分接口继承和实现继承

    区分接口继承和实现继承 c++的(公有)继承主要有两个意图:实现继承和接口继承。实现继承其实体现了面向对象封装的特性,在不修改原有代码的基础上进行扩展,然而这种继承,目前普遍...