- 博客(11)
- 收藏
- 关注
原创 C++类型转换
转换会从其他类型的值生成某个类型的新值。标准转换内置于 C++ 语言并支持其内置类型,除此之外,还可以创建用户定义的转换,以转换到用户定义的类型、从这些类型转换或者在这些类型之间执行转换。标准转换执行内置类型之间的转换、通过继承相关联的类型的指针或引用之间的转换、与 void 指针的双向转换以及到 null 指针的转换。用户定义的转换执行用户定义的类型之间的转换,或者执行用户定义的类型和内置类型之间的转换。可以将它们实现为转换构造函数或转换函数。
2023-11-18 14:33:39
38
1
原创 编程语言的分类
编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。计算机高级语言的开发总是与特定领域的问题密切相关,语言开发者往往也是因为某一领域问题的解决,因不满足于某一语言在某一方面的不足而开发的。任何一门计算机语言都无法做到在所有领域的最大优势。
2023-09-05 21:39:48
124
1
原创 不完全类型 完全类型 前向声明 前向引用
今天看到结构体在结构体定义中定义一个指向自身类型的指针时,产生了编译器是如何进行处理的疑问,涉及到了一些概念,在这里浅浅的记录一下这些概念不完整类型是尚未指定其成员的结构或联合类型,尚未指定其维度的数组类型,或void类型(无法完成void类型)。 这种类型可能无法实例化(其大小未知),也不能访问其成员(它们也是未知的); 但是,可以使用派生的指针类型(但不能解除引用)。不完全类型也就是不知道变量的所有的类型信息。比如可以声明一个数组,但是不给出该数组的长度;声明一个指针,但是不给出该指针的类型;声明一个
2023-09-05 19:20:16
75
1
原创 Redis数据结构--IntSet
整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现,具备长度可变、有序等特征。/* 编码方式,支持存放16位、32位、64位整数*/ uint32_t length;/* 元素个数 */ int8_t contents [ ];/* 整数数组,保存集合数据*/ } intset;encoding包含三种模式,表示存储的整数大小不同,除此之外,IntSet保证集合中不会出现重复的元素。
2023-04-15 21:00:47
50
原创 Redis数据结构--动态字符串
Redis中保存的key是字符串,value往往是字符串或者是字符串的集合,因此,字符串时Redis中最常用的一种数据结构。Redis构建了一种新的字符串结构,成为简单动态字符串(Simple Dynamic String),简称SDS。我们以一个实际例子来看一下,例如,一个包含字符串“addr”的sds结构如下。如果新字符串大于1M,则新空间为扩展后字符串长度+1M+1。如果新字符串小于1M,则新空间为扩展后字符串长度的两倍+1;获取字符串长度的时间复杂度为O(1)
2023-04-15 16:36:43
92
原创 剑指II-20回文子字符串的个数
对于一个子串而言,如果这个子串是回文串,并且长度大于2的话,那么把它首尾两个字符去掉之后,新得到的子串仍然是回文串,如回文串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。仍然是回文串,根据这种思路,我们可以用动态规划的思路来解决本题。,请计算这个字符串中有多少个回文子字符串。表示字符串s从第i个位置到第。我们把结果记录在二维矩阵里,以。个位置构成的子串(后文用。
2023-04-14 16:52:44
51
原创 剑指62--约瑟夫环问题
直观理解上看,即:f(1)下存活的0号,应该是f(2)原来编号中的哪个号,f(2)得到的那个号,应该是f(3)下的哪个号…在只有一个人的条件下,即f(1),此时被杀的只能是0号,或者换句话来讲,0号活到了最后,那么根据f(1)=0的初始条件,就可以得到f(2),f(3),…当在有n个人的情况下,把当前状态设置为f(n),则第一个被杀死的人为(m-1)%n,m-1是因为编号是从0开始的,%n是因为m有可能是大于n的。N个人编号为0,1,……,n-1,依次报数,每报到m时,杀掉那个人,求最后胜利者的编号。
2023-03-31 20:50:29
39
原创 小白之路-区分架构、操作系统
以前总是把linux系统只能采用arm架构,windows只能采用x86架构,导致前段时间在vmvare上安装的ubuntu操作系统是x86架构迷惑不解。今天在网上搜了很多知识,因此来恶补记录一下,不当之处还望各位大神能够指出进步。实际上架构与操作系统之间是“有壁”的,同一种架构可以跑不同的操作系统,同一个操作系统可以运行在不同的架构上。
2023-03-16 16:01:50
1223
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人