自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 可变参数模版

名字可以自由取上面的参数args前面有省略号,所以它就是一个可变模版参数,我们把带省略号的参数称为“参数包”,它里面包含了0到N(N>=0)个模版参数。我们无法直接获取参数包args中的每个参数的,只能通过展开参数包的方式来获取参数包中的每个参数,这是使用可变模版参数的一个主要特点,也是最大的难点,即如何展开可变模版参数。

2024-06-06 16:17:09 252

原创 左值引用和右值引用

1. 左值引用只能引用左值,不能引用右值。2. 但是const左值引用既可引用左值,也可引用右值。

2024-06-06 15:59:43 807

原创 C++异常处理

我们知道抛出异常的类型是任意类型,一般我们都会用自定义类型实际使用中很多公司都会自定义自己的异常体系进行规范的异常管理,因为一个项目中如果大家随意抛异常,那么外层的调用者基本就没办法玩了,所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了class Exception//基类public:, _id(id){}protected:int _id;class SqlException : public Exception//派生类。

2024-05-30 20:00:55 624

原创 位图和布隆过滤器

给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中?可以用set或unordered_set吗?我们知道1G大概10亿字节,40亿个整数需要160亿字节,也就是16G,还没有加上其他的东西也要开空间,所以已经超过了内存的大小,就无法无法全部加载到内存。你们是不是想说我一部分一部分加载到内存就可以了,也是不好,太慢了有什么好的解决方案吗?我们可以用位图,位图就是用去这个数在不在,在就是1,不在就是0。用直接定值法去映射。

2024-05-24 15:48:02 818

原创 哈希表----开散列

/记录表中数据个数。

2024-05-20 09:54:17 219

原创 哈希表----闭散列

当我们用哈希函数的时候,其中一个就是取这个表的长度len,按照哈希函数:Hash(key) = key% len,将这个位置映射到表中通过上面的除留余数法,会有的问题,可以通过来解决也叫,通过线性探测,依次找后面的位置存储。

2024-05-19 21:41:16 486

原创 红黑树的平衡

/库里面提供的结构体,表示key和value颜色初始化必须是红色,如果插入的是黑色,必定会影响每条路径的黑色节点的数量,红色的话只会影响该条路径。

2024-05-15 00:06:00 234

原创 AVL树的旋转

每个节点子树高度差的绝对值不超过1(注意节点中如果没有平衡因子),节点的平衡因子是否计算正确。(或者反过来,我们用前面那种)平衡因子=[-1,1],当超出这个范围,搜索树就不平衡了。就是每个节点的左右子树的高度差不超过1,称平衡的搜索树为。是不是感觉这样就链接上了,其实不对的,每个节点的父亲也要更新的。和左单旋是类似的,读者可以模仿上面来分析,自己把它写出来。我们知道搜索二叉树有缺陷,就是不平衡,比如下面的树。更新节点指向是一定要更新他的父亲节点的指向。, 那我们怎么控制搜索树的平衡呢?

2024-05-11 08:47:51 409

原创 二叉搜索树的插入和删除

当root是空的时候怎么处理的?为什么用个引用就解决了呢?间接删除:找它的左子树的最大节点代替,也就是左子树的最右节点 或。上面情况可以解决,但是有些情况不能解决,比如。找它的右子树的最小节点代替,也就是右子树的最左节点。你以为第一种情况就解决了吗?如果是下面的情况呢?若它的左子树不为空,则左子树上所有节点的值。若它的右子树不为空,则右子树上所有节点的值。它的左右子树也分别为二叉搜索树。这个很简单,直接给你们看了。是不是发现崩了,为什么呢?

2024-05-03 20:23:44 376

原创 多态的原理

多态就是硬套条件,符合多态就按多态走,不符号多态就按类型走// 这里常考一道笔试题:sizeof(Base)是多少?return 0;运行发现Base的大小是8字节,为什么呢?通过调试我们发现,Base对象除了有_b成员变量,还存在一个_vfptr变量, 这个变量是虚函数表指针简称虚表指针。虚函数表简称虚表:存着虚函数地址的函数指针数组,一个含有虚函数的类至少有一个虚表。

2024-05-03 10:20:28 644

原创 多继承及菱形继承

可以通过。

2024-05-02 19:59:02 870

原创 main函数的三个参数

main函数有三个参数

2024-04-04 20:12:51 185

原创 进程的状态

一个进程退出,但是它的资源还不允许被操作系统释放,处于被检测状态 ,只能由操作系统和父进程释放,所以如果一直不释放会导致内存泄漏,可以用进程等待来进行处理。父进程先退出,子进程后退出,子进程进入Z态,这个子进程就成了孤儿进程,他会被1号init进程领养,也由它回收。当对磁盘进行写入时,突然中断,这时磁盘就在一直等待写入,一直等,这个也叫不可中断睡眠,要自己慢慢等待结束。例如:子进程先退出,父进程还没退出,子进程就进入僵尸状态,父进程可以通过等待来处理子进程。PCB结构体在等待队列中,等待非CPU资源就续。

2024-04-04 19:36:52 277

原创 Linux权限问题

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。假设默认权限是mask,则实际创建的出来的文件权限是: mask &~umask。说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。这好像不太科学啊, 我张三创建的一个文件, 凭什么被你李四可以删掉,就是可以,由于目录的可写权限。可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个。可写权限: 如果目录没有可写权限, 则无法在目录中创建文件,

2024-03-05 20:31:00 816

原创 Linux的基本指令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下。功能:查看文件内容,铺满屏幕就没有了,按enter继续向下显示,向下之后不能向上了。能理解就理解,不能就算了,后面学的多了就理解了。5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义。-v :压缩的过程中显示文件!Linux下的目录是一个多叉树,到每一个文件的路径都是唯一的。

2024-02-29 17:46:01 1153

原创 Linux服务器选择和购买--学生

有腾讯云,阿里云,华为云。

2024-02-29 11:34:17 190

原创 类与对象--天选之子

关于编译器默认生成的函数1.内置类型不做处理2.自定义类型会调用相应的构造或析构函数拷贝构造函数和赋值运算符重载函数1.内置类型完成值拷贝或浅拷贝,一个一个字节拷贝2.自定义类型会调用自己的拷贝构造或赋值重载一旦涉及资源申请,一定要写,不用编译器生成的。

2024-02-25 11:05:48 846 1

原创 类与对象--入门

c语音中有结构体,但是只能定义变量,但是在C++中的结构体可以定义函数。perror("malloc申请空间失败");return;_size = 0;C++常用关键字class,不用struct。// 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。类的两种定义方式。

2024-02-23 21:08:52 772

原创 C++入门

使用namespace关键字+命名空间名字+{}// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型//2. 命名空间可以嵌套int a;int b;int c;int d;//3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。// ps:一个工程中的test.h和上面test.cpp中两个N1会被合并成一个// test.h注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。

2024-02-23 20:02:10 400

原创 排序排序啦

【代码】排序排序啦。

2024-02-22 10:30:03 119 1

原创 二叉数之堆

对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。简单啦,利用堆的特点,假如找前k个最小的数,建小堆,取顶元素,再删顶元素,一直到最后就可以找出来。4. 若规定根节点的层数为1,具有n个结点的满二叉树的深度,h= log2(n+1).:若一个节点含有子节点,则这个节点称为其子节点的父节点;2. 若规定根节点的层数为1,则深度为h的二叉树的最大结点数是 2^h -1.:一个节点含有的子树的根节点称为该节点的子节点;

2024-01-26 17:57:30 819 1

原创 二叉树之链式结构

需要我前面的基础,要熟。

2024-01-25 17:46:59 326 1

原创 链表链表啦

链表是一种物理上不连续,逻辑上连续的存储结构,逻辑顺序是按指针来链接的。从图知道它们物理是不连续的,一下块一小块的空间都是在堆区随机开辟的,这些空间有可能连续,也有可能不连续,通过指针连在一起。

2024-01-19 21:16:34 916

原创 浮点型在内存中的存储

浮点型

2024-01-08 21:08:54 753 2

原创 结构体位段

1.位段的成员必须是int、unsigned int、signed int 和char类型2.位段的成员名有一个冒号和数字(代表比特位数)例如struct Aint a : 2;int b : 5;int c : 10;int d : 30;A就是一个位段内存是多大呢?

2024-01-08 11:32:14 331 1

原创 结构体内存对齐

怎么计算结构体大小呢?这就要说热门考点:结构体内存对齐方式。

2024-01-07 21:15:12 341 1

原创 指针和数组笔试题

sizeof只关注类型,表达式不计算。二维数组的数组名表示第一行的地址。除此之外所有的数组名都。

2023-12-24 17:03:31 340 1

原创 通讯录程序

2.定义通讯录成员(姓名,年龄,性别,电话,地址)test.c 程序的入口。contact.c 用来函数实现。contact.h 用来声明。contact.c 用来函数实现。test.c 程序的入口。按照这个思路自己动手写写吧。头文件 用来声明。

2023-12-23 23:03:39 334 1

原创 排序任意类型数据

其他类型的排序都可以使用qsort函数的,只是会有所区别,上面懂了,那其他类型类比就会了。函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或。是 数组中一个元素在内存中的存储(假如是小端)不好,假如你想排其他类型呢,那又怎么排?回调函数就是一个通过函数指针调用的函数。

2023-12-20 12:40:08 388 1

原创 简单计算器设计奥妙

首先你要有指针一定的基础才能看的懂。

2023-12-20 00:15:10 368 1

原创 关键字typedef和static

发生了错误,说明static修饰全局变量,使得变量只能在本源文件中使用 ,不能和其他源文件共用。由此可知,被static修饰后,a生命周期变长了,到程序结束才结束,使得a变成静态局部变量了。当你要使用其他源文件的东西时,需要加extern前缀来声明。static修饰函数也是使得它不能被其他源文件使用。1.修饰局部变量-静态局部变量。2.修饰全局变量-静态全局变量。用了static 修饰、3.修饰函数-静态函数。

2023-12-17 18:45:05 341 1

原创 整型数据在内存中的存储

大端字节序存储模式:指数据的低位(低字节)保存在内存高地址,高位(高字节)保存在低地址处小端字节序存储模式:指数据的低位(低字节)保存在内存低地址,高位(高字节)保存在高地址处字节序:以字节为单位,讨论存储顺序。

2023-12-17 17:30:10 745

原创 二进制位的操作符详解

今天学习了移位操作符和位操作符,它们都是作用于二进制位,要灵活运用它们,可能会有意想不到的结果,有些题你可能不会做,可能就是要用到它们,还有不要写出问题表达式今天的分享到这里。

2023-12-10 16:49:51 840 3

原创 类型转换:整型提升

为了要这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型(int),这种转换叫整型提升。表达式 +c ,就会发生提升,所以是4个字节,表达式 -c 也一样,而c没有运算所以是1个字节。char是有符号的字符类型,在内存中占一个字节,8个比特位。C的整型算术运算总是至少以默认整型类型的精度来进行的。0x表示16进制,a,b需要整型提升,c不需要。-1是整数,在内存占4个字节 ,32个比特位。知道补码求原码:补码-1,再取反。大家好,我是德珐哆啦,今天分享。计算机存的是补码,拿补码来算。

2023-12-10 00:06:05 421 3

空空如也

空空如也

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

TA关注的人

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