- 博客(7)
- 收藏
- 关注
原创 c++基于跳表实现的轻量级KV存储
/二级指针 各级指向节下一个节点指针的数组private:K Key;V Value;return Key;public:// 模拟概率//插入//展示跳表//通过key查询节点//删除节点//将数据存入文件//将文件的数据载入跳表//节点个数private://读取数据//文件读取到数据是否合法private://索引最大可支持的级数//当前达到的最大级数//头哨兵节点//输出流。
2024-07-16 16:32:13 332
原创 c++ STL深度探索之迭代器(算法和容器之间的桥梁)
定义:迭代器是一种数据类型,用于遍历容器中的元素。与C语言中的指针类似,迭代器允许我们访问容器中的元素,但提供了更丰富的操作和功能。用途:通过迭代器,我们可以读取、修改容器中某个迭代器所指向的元素值。迭代器支持++、--等操作符,可以从容器中的一个元素移动到另一个元素。类型:C++标准库为不同的容器定义了不同类型的迭代器。根据功能的不同,迭代器可以分为输入迭代器、输出迭代器、前向迭代器、双向迭代器和随机访问迭代器。
2024-06-23 20:45:18 2054
原创 C++双端队列deque源码的深度学习(stack,queue的默认底层容器)
deque是C++标准模板库(STL)中的一个容器,代表“双端队列”(double-ended queue)。deque支持在其前端(front)和后端(back)进行快速插入和删除操作,并且它在序列的中间插入和删除元素时通常比vector或list更高效。
2024-06-16 14:52:03 2080
原创 c++哈希表hash_table的深度学习(hash_map,un和hash_set的底层实现)
哈希表(Hash Table)是一种数据结构,它使用哈希函数将键(key)映射到桶(bucket)或槽(slot)中,可以直接通过相应的键值直接对数据进行访问,高效的插入,删除,查找。
2024-06-12 22:27:34 1474 1
原创 为什么c++不支持多次后置++而支持多次前置++?
cpp不支持多次后置++,因为后置++返回的是++操作前的原始数据用temp存储是一个临时数据(函数return后生命周期到了),也就是说返回的是一个右值,而++操作是在一个存在的对象上(也可以是基础类型)操作不能对右值操作所以会报错。也就是说传回的数据是已经存在的对象是个左值,所以你对一个已有对象多次前置++操作是没有问题的。cpp支持前置++,前置++返回的是++操作后的数据,通常return该数据的引用。
2024-06-03 17:00:31 506 1
原创 详解c++左值右值,引用,左值引用,右值引用,移动语义,完美转发,
右值:右值通常位于等号的右侧,通常是一个临时的,无标识符的值例如字面常量,临时对象,函数返回的对象等,无法对其取地址,赋值的操作。左值:左值是具有标识符(变量名)的表达式,在内存中有一个确定的地址,可以被赋值,它可以是变量,对象,返回引用的函数等。比较简单,我们这里不在赘述。
2024-05-14 18:08:44 68
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人