自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 private与构造函数

噢,刚才我们刚刚提到了static公有成员,它是独立于class对象而存在的,当然,它也是公有的,“我们”可以访问得到。),我们可以在class的私有域中添加一个static类型的计数器,它的初值置为0,然后再对makeAnObject()做点手脚:每次调用它时先检查计数器的值是否已经达到对象个数的上限值,如果是则产生错误,否则才new出新的对象,同时将计数器的值增1.最后,为了避免值复制时产生新的对象副本,除了将构造函数置为私有外,复制构造函数也要特别声明并置为私有。噢,你一定想到了使用友元,完全正确。

2022-09-16 20:34:13 690 1

原创 文件IO过程

文件描述符是一个简单的整数,用以标明每一个 被 进程所打开的文件和socket. 通常0 1 2被标准输入、标准输出、标准错误(默stdin,stdout,stderror)认占用,然后从3开始依次递增。当一个进程成功打开一个文件,内核会返回一个文件描述符。linux操作系统通常给每个进程能打开的文件数量强加一个限制。通常系统默认限制是1024,即(0~1023)此限制可能会极大的影响性能,当所有的文件描述符用完之后之后,会导致新的连接服务被拒绝。

2022-09-05 17:10:07 390

原创 排序和复杂度

从右边开始,指针往右偏移,直到找到比39小的,然后将该数放到中心元素位置,然后左边指针开始向右偏移,找到比39大的,将该数放到右边指针停留的位置,然后右边指针再向左偏移,如此循环,将堆顶元素与末尾元素进行交换,使末尾元素最大,然后继续调整堆,再将堆顶元素与末尾元素交换,得到第二大元素,如此反复进行交换,重建,交换。任取待排序序列的一个元素作为中心元素(可以用第一个,最后一个,也可以是中间任何一个),习惯将其称为。4.此时,交换导致了子根[4,5,6]结构混乱,继续调整,[4,5,6]中6最大,交换4和6。

2022-09-04 22:01:37 3280

原创 链表、结构体和数组对比

1、结构体可以存不同类型的元素,而数组只能存同一类型2、结构体类型需要我们自已定义.数组是用别的类型加[元素个数]3、结构体内存分配方式很特别,使用对齐原则,不一定是所有元素的字节数和,而数组一定是所有元素的字节数和.4、结构体指针可以指针名->结构体元素名(取元素);数组不行5、结构体嵌套可以使用点语法逐级寻找,数组不能。

2022-08-23 18:22:28 1454

原创 结构体为何要进行对齐以及如何对齐

1. 平台原因(移植原因): 不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能 在某些地址处取某些特定类型的数据,否则抛出硬件异常。2. 性能原因: 数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的 内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。总体来说:结构体的内存对齐是拿空间来换取时间的做法。优点是提高了可移植性和cpu性能。............

2022-08-14 19:41:52 2961

原创 指针、变量

1)寻址方式不同:普通变量采用直接寻址方式,只需要一次就可以从内存中取出需要的数据。而指针变量是间接寻址方式,且至少进行两次。值得注意的是,理论上,一维指针变量寻址两次,二维指针变量寻址三次…n维指针变量寻址n+1次,且n可以无限增加,但是实际上,不同的寻址方式比如两次寻址和三次寻址,是在设计之初就被编进指令集中的,指令码的限制使得大多数寻址控制在两到三次,也就是我们说的一维指针和二维指针,与其可类比的概念的有一维数组和二维数组,但它们又不完全相同,后续会接着说到。...

2022-08-08 15:09:37 365 1

原创 c语言使用一维数组实现杨辉三角

通常使用在实现杨辉三角时使用的时使用二维数组的方式,这种方式比较快捷,且比较好理解,但是使用二维数组浪费了大量的空间,又大概一般的空间未被使用。如果使用一维数组进行计算能大大提高空间利用率。首先我们定义一个函数用来计算任意行数杨辉三角需要使用到的数组长度。并且可以通过这个函数能够找到上一行杨辉三角的起始位置。在打印时也对每行需要空出来的长度做了处理,尽量保证打印出来的是一个三角形...

2022-08-07 21:54:22 1844

原创 在linux中批量解压tar.gz的脚本

如果运行 tar -xvf eg.tar --strip-components 3。如: 压缩文件eg.tar 中文件信息为 src/src/src/eg.txt。运行 tar -xvf eg.tar --strip-components 1。目标:将目录中所有.tar.gz文件解压到另一个目录。--strip-components N 去除目录结构。结果:src/src/eg.txt。解压结果为: eg.txt。......

2022-08-07 19:34:05 1049

原创 一个查看局域网内可用ip的shell脚本

找出网络内可用的ip172.20.2.101~172.20.2.120 ping -c 1 -W 1 172.20.2.101,-c表示尝试次数,-W表示等待时间,这里表示尝试一次,等待1 秒(如果连不上会等待很久,这是为了提高效率)$?直接反应了ping通了没有,如果是1就不通了,空闲可用,如果是0就通,$?直接反 应上一个命令的状态(echo $?查看).........

2022-08-07 13:20:23 905

原创 scanf导致的无限循环

scanf需要获取一个数字,但是你给了一个字母,scanf获取之后发现不是我要的,就把字母又放回了缓冲,但是由于缓冲不是空的,scanf不会进入阻塞状态(就是等待用户输入)。在下一次循环时,发现缓冲有东西(其实还是上次放回的字母),再取,再放回,我还是不阻塞,执行下一条语句,如此循环,导致一直打印。代码:目标是想要获取一个数字,运行时输入了一个非数字字母。...

2022-08-07 13:15:22 538 1

原创 普通字符再scanf中的应用

分析:如果不用逗号分割而用空格,此时在输入数字1 2回车后触发刷新,1被前面的%d获取到,由于此时缓存不为空,所以程序不会等待你输入下一个字符,直接进入打印阶段,再循环到下一次,2又被第一个%d获取到,如此往复。如说输入一个数+逗号再回车,前面一个%d接受一个数,逗号被匹配到,后面一个%d发现没有数字了,只有一个\n,但是%d的职业操守是我不认\n和空格,我等,所以它会正常等待你的输入。如果有逗号分割,逗号被scanf中的逗号匹配,前面的字符被第一个%d获取,后面的字符被后一个%d获取。...

2022-08-07 13:06:29 279

原创 scanf中‘\n‘的用法和隐患

读到这篇文章的人90%的可能是遇到了输入字符后,回车没有预期的输出,连续回车都没用。这种情况可能是因为你在scanf中加了\n,而且加了不该加的地方。把代码里的\n删了或者再输入一个不是\n的字符再回车。下面来分析一下为什么会发生这种情况scanf不是直接从键盘获取数据的,scanf和键盘之间还存在一个媒介。当程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就进入阻塞状态。基于此点我们导论%c %d %s %f。......

2022-08-07 12:47:48 8864 6

原创 常用的linux命令以及常用的知识合集

linux常用命令

2022-07-29 21:32:45 187

原创 删除typora图片目录下失效的图片脚本

背景md中插入图片与word不同,在word中图片是拷贝了一份放在文件中,与原图片无关,所以无论删除哪个互不影响,但是md中却不同,md中插入图片时用超链接的方式从外部引用,在设置中配置图片存放路径,一般情况下图片的存放路径在c盘,这极大的占用了系统资源,所以初用者最好把路径改为其他盘,应为时间久了,这个目录会非常大。导致图片目录中会存放很多失效的图片。所以就在网上找了相关的代码想要解决这个问题,谁也不想重复造轮子吧,有幸找到了,但是在使用中发现了一些问题,所以进行了ru'xia。......

2022-07-29 20:36:27 1109 1

原创 c 和 python语法 对比

让初学者更好的了解python和c

2022-07-27 21:52:56 1949 1

空空如也

空空如也

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

TA关注的人

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