自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 C++实现搜索二叉树(Binary Search Tree)

对只有一个key的二叉搜索树稍加改造,这样一个key,value模型就完成了,这种KV模型存在的意义便是,可以通过找到key所在的位置从而找到该位置的val,这个模型的运用场景有很多,以下有一段示例代码。另外还可以利用KV模型进行计数操作,记录key出现的次数,示例代码如下所示。以上便是关于搜素二叉树的实现和运用,希望能够班帮助到大家。

2024-03-19 07:30:07 309 1

原创 C++模板(template)详解

原因是在链接过程中,编译器找不到模板函数的定义,因为在使用模板时,.h文件中的模板的声明知晓了模板参数的类型,但在.cpp文件中的模版不知道,所以.cpp中模板的定义没法实例化,也就没法在编译阶段生成一份经过实例化的具体的代码,这将导致程序在链接阶段找不到模板函数的实现而报链接错误。这样一来,在调用Add函数的时候,其本质上是调用了上面的经过实例化的模板函数,这样做的好处就是,程序员就可以不用对每一种数据类型都去实现对应的函数,大大提高了效率,而且只实现这么一份通用的模板函数可以使其更易于维护。

2024-03-09 16:45:47 1934

原创 C++内存管理相关知识

那么,为什么有了malloc和free等函数后,C++还要搞出个new和delete呢,关键就在于,对于自定义类型,在使用new申请空间后,编译器会自动调用该类型的构造函数,对申请的空间进行初始化,同样,对于自定义类型,在使用delete释放空间时,编译器会首先调用自定义类型的析构函数,再对空间进行释放。堆区:用于动态内存分配,malloc等内存申请函数申请的就是堆区的内存,堆区是一个大容器,具有较大空间,在32位环境下最多可有2G空间,而在64位环境下可以认为是拥有无限内存可供分配。

2024-02-05 00:43:13 336 1

原创 C++初始化列表的优点

这其中,private 下面的代码只是声明对象的参数的存在,参数的实际定义其实是在函数的初始化过程中实现的。对于赋值初始化,其过程可以分为两步:第一步,而对于没有默认构造函数的自定义类型而言,显而易见,由于没有默认的构造函数,其无法完成第一步的定义操作,故也不能使用对象体内的赋值初始化。初始化列表的优点便是,可以直接在定义的过程中就把值给参数,这也让它可以胜任为引用等类型的初始化操作,这就类似于。这里还要注意的是,初始化列表对参数初始化的顺序,只与声明的顺序有关,与列表中参数所处位置的前后并无关系。

2024-01-30 22:51:04 322 1

空空如也

空空如也

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

TA关注的人

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