自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ProgrammerIf 的博客

欢迎来看我的博客!

  • 博客(3)
  • 收藏
  • 关注

原创 《数据结构与算法之美》笔记:08栈

当数组空间不够时就重新申请一块更大的内存,将原来数组中的数据通通拷贝过去。这样就实现了一个支持动态扩展的数组。要实现支持动态扩展的栈就是底层需要一个支持动态扩展的数组。基于数组实现的栈是固定大小的,当栈满之后就无法往栈里添加数据了。链式栈虽然大小不受限,但是要存储next指针,内存消耗较大,所有可以基于数组实现一个动态扩展的栈。**“栈”结构就是后进者先出,先进者后出。栈的实现可以用数组,可以用链表。栈操作的时间复杂度和空间复杂度都是O(1)。栈的主要操作有两个,入栈和出栈。,只允许在一端插入和删除数据。

2023-11-01 18:06:43 24

原创 如何深入理解虚函数和多态?

常规的多态性的理解,父类中有一个虚函数,子类中也有一个同名的虚函数,当通过父类指针new一个子类对象时,或者通过父类引用来绑定一个子类对象的时候,如果用这个父类指针来调用这个虚函数,那么调用其实是子类的虚函数。这个虚函数表会一直伴随类A,在经过编译、链接,这个类A和伴随类A的虚函数表会都会保存到可执行文件中,在可执行文件执行过程中,也会加载到内存中。在程序运行起来之后,当创建一个类A对象的时候,会执行类A的构造函数,因为构造函数中有为vptr赋值的语句,从而使vptr指向类A中的vbtl。

2023-09-16 00:12:22 35 1

原创 LevelDB初识

说明:这是一个编译C++源代码的命令。在编译过程中,它链接了名为pthread和leveldb的库文件,并通过-L选项指定了库文件的搜索路径为当前目录(.),通过-I选项指定了头文件的搜索路径为./include。LevelDB是一个键值对数据库,是一个持久化的有序Map,有谷歌工程师Jeff Dean和Sanjay Ghemawat开发并开源。LevelDB是数据库的函数库,并不是功能完备的数据库,但是它是LSM Tree的一种实现方式,非常值得我们学习。编译安装好了之后就可以进行简单的使用了。

2023-08-13 15:26:46 100 1

空空如也

空空如也

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

TA关注的人

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