自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件描述符

所以,本质上,文件描述符就是该数组的下标。由之前的知识,我们知道,当一个进程被创建时会默认打开三个文件,即标准输入,标准输出,标准错误。而我们关掉文件1的时候,也就关掉了标准输出文件,这时候再重新打开一个文件,这个新打开的文件会分配一个最小的未被使用的文件描述符,即1。为了更好的理解这一点,我们用代码来实验一下,我们关掉标准输出,然后打印没有myfile.txt的文件描述符。当一个进程被创建时会默认打开三个文件,即标准输入,标准输出,标准错误。标准输入,标准输出,标准错误的文件描述符分别对应0,1,2。

2023-07-13 13:42:56 98 1

原创 进程控制学习

2.exit函数退出(在代码的任意地方调用该函数都表示进程退出),exit(int code):code代表的就是进程的退出码,等价于main return xxx。WNOHANG: 若pid指定的子进程没有结束,则waitpid()函数返回0,不予以等待。b.崩溃(进程异常),崩溃的本质:进程因为某些原因,导致进程收到了来自操作系统的信号。新进程为子进程,而原进程为父进程。当正常返回的时候waitpid返回收集到的子进程的进程ID;返回值:自进程中返回0,父进程返回子进程id,出错返回-1。

2023-06-24 14:38:46 67 1

原创 string类特性

G++下,string是通过写时拷贝实现的,string对象总共占4个字节,内部只包含了一个指针,该指。string总共占28个字节,内部结构稍微复杂一点,先是有一个联合体,联合体用来定义string中字。这种设计也是有一定道理的,大多数情况下字符串的长度都小于16,那string对象创建好之后,内。其次:还有一个size_t字段保存字符串长度,一个size_t字段保存从堆上开辟空间总的容量。部已经有了16个字符数组的固定空间,不需要通过堆创建,效率高。4.指向堆空间的指针,用来存储字符串。

2023-06-18 10:49:10 61

原创 C++内存管理+模板

如果申请的是内置类型的空间,new和malloc,delete和free基本类似,不同的地方是:new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且new在申请空间失败时会抛异常,malloc会返回NULL。这样就更方便了,但注意你虽然写了一个函数,但所传参数类型不同时,调用的是不同的函数,你虽然只写了一个函数,但编译器根据参数类型帮你写了多个函数。概念:函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。

2023-06-17 17:25:11 59

原创 学习笔记:static成员+匿名对象+内部类+友元

比如上述Time类和Date类,在Time类中声明Date类为其友元类,那么可以在Date类中直接访问Time类的私有成员变量,但想在Time类中访问Date类中私有的成员变量则不行。在类中创建一个静态成员,因为它的特性是属于类,而不属于对象,所以不管类创建了多少个对象,静态成员只有一个拷贝,将它作为计数器,每创建一个对象,就++一次,这样就能得到这个类有多少个已经被创建的对象。内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去访问内部类的成员。使用方法:类内声明,类外定义。

2023-06-16 19:20:50 36 1

原创 学习笔记:权限的放大+初始化列表+流输入/流输出重载

权限的放大:在指针和引用赋值中,权限可以缩小,但不可以放大:这里通常指的是变量的值可不可以改的问题,如果说是从改到不能改,这就是将权限缩小了,这是可行的;如果说是从不能改到能改,这就是权限放大了,此时是不行的。friend:意为友元函数,在类外定义,可以访问类的私有成员。解决方案:在函数后加const。

2023-06-14 23:53:12 37

原创 运算符重载+日期类

C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。关键字:operator。

2023-06-14 10:22:40 24

原创 C++引用

C++中引用的概念在C语言中并不具备,它的提出是为了弥补C语言的不足。

2023-05-06 00:01:49 19

原创 Linux基本指令

学习Linux系统的新手可以看看这篇文章,是几个会经常用到的基本指令。ls:显示当前目录下的文件列表(包括目录,普通文本文件····)mkdir:在当前路径下,创建一个目录/文件夹pwd:显示当前我所处的路径cd:进入指定的目录touch:创建指定的普通文件rm:删除普通文件。

2023-05-05 00:14:18 34 1

原创 扫雷小游戏

一个数组(mine)存放布置好的雷的信息,有雷的表格放1,无雷的表格放0;另一个数组(show)存放排查出的雷的信息。show数组初始化为‘*’,排查雷后,具体位置改为数字字符,如:‘3’mine数组初始化为‘0’,布置雷的时候改为‘1’写一个初始化表格的函数init_board()用11乘11的二维数组,防止越界。

2022-11-18 22:33:39 99

原创 c语言中如何实现生成随机数

c语言中自带的生成随机数的函数rand(),只要引用头文件#include就可以使用,但是它存在很大的弊端,每次调用这个函数生成的连续的随机值都是与上次相同的,因此需要改进。

2022-11-12 20:37:01 5569

原创 三子棋游戏

你先自己动手做一个小游戏吗?这篇文章可以教你做一个简单的三子棋游戏,当然,对手不会那么智能,但是可以让你了解一个小游戏的编码过程。

2022-11-11 22:31:39 793

原创 关键字static用法

函数具有外部连接属性,其他源文件想使用,只需正确声明,被static修饰后,只能在自己所在源文件使用。全局变量具有外部连接属性,被static修饰后外部连接属性变为内部连接属性,其他源文件无法使用。普通局部变量放在内存的栈区,进入局部范围变量创建,出了局部范围变量销毁。当被static修饰时,局部变量在静态区,下次使用的是上次遗留的数据。

2022-10-04 15:04:39 114

原创 第一篇博客

学习编程我想除了学习底层技术原理打好基础之外,就是要勤加练习,多刷题,刷题是件痛苦的事,需要你不断地思考,木头人一样地坐在板凳上,双眼发愣地盯着电脑屏幕,偶尔敲打几下电脑屏幕。在学习中,我认识到了即便到了今天,计算机仍有巨大的未被挖掘出的潜力,于是决定进入计算机行业,希望自己在大学毕业时能够进入一家较好的互联网公司。我是来自上海工程技术大学的大三学生,在大二接触到了编程,自己又对电脑比较感兴趣,于是开始自学编程。但我信奉一万小时定理,下足功夫自然见成效,所以我一周会拿出18个小时来学习编程。

2022-10-02 23:59:16 104

空空如也

空空如也

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

TA关注的人

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