自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++模板进阶详解 ——非类型模板参数,模板特化和模板分离编译

一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生增强了代码的灵活性【缺陷】模板会导致代码膨胀问题,也会导致编译时间变长出现模板编译错误时,错误信息非常凌乱,不易定位错误。

2024-04-27 21:53:59 691

原创 Linux文件系统 && 软硬链接

如果使用512KB,可能会进行更多次数的IO,造成效率降低,而且如果操作系统使用和磁盘一样的大小,万一磁盘基本大小变化了,OS的源代码也需要改变,所以OS有自己一套的规定,这样就完成了软件和硬件的解耦。字节的空间,保存的是对应特定文件的属性,该块组内,所有文件的inode空间的集合,需要标识唯一性,每一个inode块,都要有一个inode编号。一般而言一个文件,一个。它的内部也是一个位图,每一个比特位和 特定的inode是一一对应的,如果该比特位为1,说明该inode已经被占用,否则表示空闲可用。

2024-04-21 10:13:43 767 2

原创 C++模板初阶详解 —— 函数模板与类模板

该语句不能通过编译,因为在编译期间,当编译器看到该实例化时,需要推演其实参类型通过实参a1将T推演为int,通过实参d1将T推演为double类型,但模板参数列表中只有一个T,编译器无法确定此处到底该将T确定为int 或者 double类型而报错。如果在C++中,也能够存在这样一个模具,通过给这个模具中填充不同材料(类型),来获得不同材料的铸件(即生成具体类型的代码),那将会节省许多头发。函数模板是一个蓝图,它本身并不是函数,是编译器用使用方式产生特定具体类型函数的模具。模板是泛型编程的基础。

2024-04-16 10:04:00 1019 1

原创 Linux进程的优先级&&环境变量&&上下文切换&&优先级队列

如何设置本地变量呢?但是使用【echo】命令还可以查看到,因为echo是可以操作环境变量的,所用echo命令是可以操作所有的变量的,不管是本地变量还是环境变量。,这个nice值有正负数,我们可以举一个例子:一个进程的PRI为80,我们给NI值为-10,再根据上面的公式得出新的PRI为70。因为PRI是系统内核去动态调整的,我们修改后需要经过内核的允许,如果这个PRI值超过了内核的最大限度,那么这个值就会保留在。我们发现使用env来查看我们设置的变量,并不能显示出结果,证明了我们刚刚设置的变量是本地变量。

2024-04-03 09:37:10 1440 81

原创 Linux之进程控制&&进程终止&&进程等待&&进程的程序替换&&替换函数&&实现简易shell

所以如果我们模拟实现的shell也想实现cd改变路径的功能,实际上是不可以创建子进程的,因为子进程程序替换执行cd,父进程的工作目录是没有改变的,所以直接将这一种情况单独拿出来进行判断,在这种情况下,直接让父进程执行cd命令,修改父进程的工作目录即可。在模拟shell的实现代码中,cd到其他目录,pwd之后的路径实际上是没有变化的,因为pwd实际上pwd的是父进程shell的路径,而父进程的cwd路径始终是未改变的,而执行cd命令的是子进程,所以子进程的cwd路径是会改变的。这就是进程之间的独立性。

2024-03-28 15:54:04 1309 82

原创 Linux进程地址空间详解

我们在学习C/C++的时候用到的地址是什么地址呢?虚拟地址?物理地址?本文就来寻找一下答案~

2024-03-23 18:23:45 929 95

原创 Linux手动创建用户不使用useradd【七步走完成】

Linux手动创建用户七步走

2024-03-21 12:21:03 1745 73

原创 C语言之数据在计算机内部的存储

前面我们已经学习了基本的内置类型:以及他们所占存储空间的大小~~使用这个类型开辟内存空间的大小(大小决定了使用范围)如何看待内存空间的视角在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8 bit但是在C语言中除了8 bit的char之外,还有16 bit的short 型,32 bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32 位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。

2024-03-18 19:28:30 1500 86

原创 C++STL详解(一)——string的介绍及使用

本文学习了C++中的string类,简单的介绍了几个比常用的几个接口,以及如何使用

2024-03-14 14:11:38 868 81

原创 Linux进程概念&&僵尸进程&&孤儿进程

Linux进程概念&&僵尸进程&&孤儿进程

2024-03-11 18:50:57 1637 89

原创 Linux 实现打印彩色进度条

Linux 实现打印彩色进度条详解

2024-03-04 10:36:55 1833 107

原创 C语言之操作符详解

本文介绍了算术作符、移位操作符、位操作符、赋值操作符、单目操作符、强制类型转换、关系操作符、逻辑操作符、条件操作符以及问题表达式

2024-02-29 15:19:06 1041 96

原创 C/C++内存管理学习【new】

本文讲解了C/C++内存分布形式,并且学习C++中new的操作,最后了解了内存泄漏分类,如何检测内存泄漏,如何避免内存泄漏

2024-02-24 08:54:42 2759 106

原创 【C++】初始化列表、static成员、友元、匿名对象、附练习题

我们前面学习了关于类和对象的6个默认成员函数,知道了一个空类中有构造函数和析构函数,通过对对象初始化和对象中进行资源清理,达到初始化和销毁的作用。我们再对一些小的点进行补充,看看类和对象的一些细节。

2024-02-21 19:50:06 1469 59

原创 【C++】中类的6个默认成员函数 取地址及const成员函数 && 学习运算符重载 && 【实现一个日期类】

【C++】中类的6个默认成员函数 取地址及const成员函数 && 学习运算符重载 && 【实现一个日期类】

2024-02-19 13:06:16 1454 62

原创 C++中类的6个默认成员函数 【拷贝构造函数】

C++中类的6个默认成员函数 之【拷贝构造函数】

2024-02-16 14:59:05 1772 68

原创 C++中类的6个默认成员函数【构造函数】 &&【析构函数】

C++中类的6个默认成员函数【构造函数】 &&【析构函数】

2024-02-10 17:04:05 1622 65

原创 Linux项目自动化构建工具之make/Makefile演示gcc编译

Linux项目自动化构建工具之make/Makefile演示gcc编译

2024-02-04 16:43:14 1572 76

原创 使用gcc/g++查看C语言预处理,编译,汇编,连接,以及动静态库的区分

使用gcc/g++查看预处理,编译,汇编,连接,以及动静态库的区分

2024-02-02 19:54:01 2034 56

原创 C++引用、内联函数、auto关键字介绍以及C++中无法使用NULL的原因

本文详细介绍了C++引用、内联函数、auto关键字介绍以及C++中无法使用NULL的原因

2024-02-01 20:23:18 1461 40

原创 Linux编辑器之vim的使用

一、vim简介二、vim的基本概念三、vim的基本操作四、vim正常模式命令集移动光标删除文字复制替换撤销上一次操作更改跳至指定的行vim末行模式命令集列出行号跳到文件中的某一行查找字符保存文件离开vim五、进阶vim玩法打开文件批量注释代码执行shell命令指定注释窗口命令退出命令六、简单vim配置配置文件的位置常用配置选项,用来测试

2024-01-31 10:22:14 2204 52

原创 C++类和对象引入以及类的介绍使用

本文主要内容是C++类和对象引入以及类的介绍使用,面向过程与面向对象的区别

2024-01-29 18:27:25 1270 50

原创 一篇文章带你了解C++中隐含的this指针

一篇文章带你了解C++中隐含的this指针,特性以及两道面试题

2024-01-27 17:19:09 2008 62

原创 C++的关键字,命名空间,缺省参数,函数重载以及原理

从今天开始就序列更新C++的文章了,希望大家可以耐心的坚持下去学习,有一个很好的成长~~

2024-01-25 12:25:19 1585 63

原创 C语言之反汇编查看函数栈帧的创建与销毁

配置环境反汇编查看函数栈帧的创建与销毁

2024-01-23 12:27:02 1497 52

原创 Linux配置yum源以及基本yum指令

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。–>来自百度百科在Linux下安装软件,一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。

2024-01-23 08:40:29 1324 35

原创 Linux与windows互相传输文件之rzsz命令

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。安装完毕之后可以通过拖拽的方式将文件上传过去。我这里有一个我文件,使用sz下载到本地。

2024-01-22 17:47:36 1162 32

原创 Linux中普通用户使用sudo命令提示lin is not in the sudoers file. This incident will be reported.

在使用Linux的过程中我们普通用户使用sudo可能遇到这样的提示pp is not in the sudoers file. This incident will be reported.

2024-01-21 19:54:42 846 40

原创 Linux粘滞位的理解,什么是粘滞位?

粘滞位(Stickybit),或粘着位,是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。—>来自百度百科在共享一个文件夹里面的文件的时候,我们创建的文件不想被其他用户删除,【毕竟是共享的】,所以我们就需要用到粘滞位,粘滞位就可以很好的解决这个问题,被粘滞位。

2024-01-19 18:35:39 1254 57

原创 C语言之【函数】篇章以及例题分析

在C语言中,这个函数时必不可少的,没有函数没有灵魂,要不然代码就会乱成一团,所以我们要学函数,接下来就开始函数之旅~~如果库函数能干所有的事情,那还要程序员干什么?所以更加重要的是【自定义函数自定义函数和库函数一样,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己来设计。这给程序员一个很大的发挥空间statement;//语句项ret_type 返回类型fun_name 函数名para1 函数参数写一个函数可以找出两个整数中的最大值。x : y);

2024-01-18 16:54:08 1828 49

原创 C语言之从浅入深一步一步全方位理解指针【附笔试题】

全方位理解C语言指针,初阶到进阶,一步一步探索~~

2024-01-14 10:24:24 2367 66

原创 C语言之扫雷小游戏的实现【含递归展开】

扫雷游戏是1992年发行的一款大众类益智游戏,对于许多80后、90后来说都是童年的回忆。如今三十年过去了,这款游戏依旧受到很多网友的喜爱,今天我们一起来模拟实现一下扫雷游戏。本文所用的编译器是VS2022。

2024-01-11 15:10:57 1995 41

原创 C语言之三子棋小游戏的应用

三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏分为双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成一条线就视为胜利,而对方就算输了,但是三子棋在很多时候会出现和棋的局面。本篇博客就来进行讲解这个三子棋小游戏,跟着我来一起看把!(本文使用的编译器是VS2022。

2024-01-10 21:22:25 1573 36

原创 C语言之详解数组【附三子棋和扫雷游戏实战】

在C语言中,数组的大小在声明时需要指定,包括行和列。这是因为C语言中的数组是一块连续的内存空间,编译器在编译时需要知道数组的大小以便正确分配内存。对于一个数组的数组名来说就是这个数组的首元素地址,我们可以根据一个数组的首元素地址来访问到这个数组,然后就可以访问到这个数组中的所有内容。如果省略列,编译器将无法确定每个元素在内存中的偏移量,因此无法正确计算数组的地址。内的数字便是这个数组的大小,表示这个数组中可以存放多少元素。在数组创建的时候不能使用变量,而在使用的时候就可以~~数组是一组相同类型元素的集合。

2024-01-07 17:36:42 1891 75

原创 C语言之分支与循环【附6个练习】

C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。我们可以使⽤ifswitch实现分⽀结构,使⽤forwhiledo while实现循环结构。在我们平时写字中,一句话的结尾是句号,然而正在C语言中一句话的结尾是;语句可以分为以下五类:1)表达式语句2)函数调用语句3)控制语句4)复合语句5)空语句。

2024-01-01 16:35:52 2207 76

原创 git远程操作,推送【push】,拉取【pull】,忽略特殊文件,配置别名,标签管理

Git是一款分布式版本控制系统,它允许团队协同开发并追踪代码变更。远程操作是Git中的一个重要概念,它使得开发者能够在不同计算机之间共享和同步代码。

2023-12-27 08:34:56 3239 76

原创 C语言之初识C语言

想必刚接触C语言的同学们不知道C语言是什么?,有什么用,那么你来对了,本系列就会带你入门C语言,从入门到“入土”,开玩笑的,正如标题所说,本教程首先对C语言有一个初步的认识,能够看懂别人写的是什么,有一个大概的框架,那么,我要开始讲解了。这一章主要是初始C语言的一个大纲。C语言是什么?语言:汉语,日语,英语等。语言是一个自然语言,是人与人交流的语言。计算机语言:类比过来,是人与计算机之间的交流。C语言是一门通用计算机编程语言,广泛应用于底层开发。

2023-12-22 15:13:43 19030 107

原创 git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支

git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支

2023-12-15 14:38:15 4490 100

原创 排序 | 冒泡 插入 希尔 选择 堆 快排 归并 非递归 计数 基数 排序

排序 | 冒泡插入希尔选择堆快排归并计数排序

2023-12-12 17:30:21 2063 85

原创 Linux权限命令详解

权限就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源,比如vip,门禁之类的。

2023-12-10 14:58:27 935 73

空空如也

空空如也

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

TA关注的人

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