自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux进程控制详解

在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。返回值:自进程中返回0,父进程返回子进程id,出错返回-1进程调用fork,当控制转移到内核中的fork代码后,内核做:分配新的内存块和内核数据结构给子进程将父进程部分数据结构内容拷贝至子进程添加子进程到系统进程列表当中fork返回,开始调度器调度。

2023-04-22 12:04:11 89 1

原创 类和对象(下)

但它们的作用域不同,局部的静态变量只在这个函数中可以用,而全局的静态变量在全局范围内使用。1.内部类可以定义在外部类的public、protected、private都是可以的。在传参和传返回值的过程中,一般编译器会做一些优化,减少对象的拷贝,这个在一些场景下还。2.注意内部类可以直接访问外部类中的static成员,不需要外部类的对象/类名。3.static(不仅影响变量声明周期,还影响函数的链接属性)(静态区,属于类,并且是类的每个对象共享的)它们的生命周期都相同,都是整个程序中都存在。

2023-03-21 22:35:58 61

原创 类与对象(中)

内置类型就是语言提供的数据类型,如:int/char…,自定义类型就是我们使用class/struct/union等自己定义的类型,默认的构造函数会对内置类型不处理,对自定类型成员调用的它的默认构造函数。(这一点非常重要)

2023-03-21 21:22:31 64

原创 类和对象(上)

1.声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。2.类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名::一般情况下,更期望采用第二种形式C++特性之一:封装1.方便管理,增删查改函数,只能调用公有成员去访问(规范的去访问数据)2.对比C语言,没有封装,访问不规范(可能会导致访问错误)

2023-03-21 19:45:13 56

原创 内联函数详解

why???如果声明和定义分离,会报链接错误!!!

2023-03-13 23:59:54 189

原创 引用超详解

解释2:第二次打印是一个随机值,是因为在调用cout函数时,原来的位置重新建立了一个函数站着,原来的值也就被覆盖。解释1:第一次打印,打印出来的是1,在Count栈桢销毁后,访问了之前存储着n的空间拿到了值,仍旧是原来的值。解释4:同2,调用了func函数,在原来的位置又重新建立了一个func函数的栈帧,原来的值也被覆盖。传值返回不能用引用接受,返回的是临时变量,具有常性,要加const。解释3:同1,调用了一次Count函数后,拿到了原来的值。出了函数作用域,返回的变量不存在了,不能用引用返回。

2023-03-12 18:58:22 88

原创 C++基础知识详解

C++基础详解

2023-03-11 22:34:22 102

原创 详解时间复杂度和空间复杂度

以上代码在第一层for循环时,创建了一个exchange变量,除了for循环的作用域后,exchange变量会销毁,然后又利用相同的空间重新创建。使用大O的渐进表示法以后,Func1的时间复杂度为:O(N^2).的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。在数组顺序有序的情况下,即最好情况下 ,时间复杂度为O(N).这个函数就存在上述出现的情况,时间复杂度时O(N).无序情况下,即最坏情况下,时间复杂度为O(N^2).Func3的时间复杂度为:O(N)或O(M).

2022-09-01 19:02:24 281 1

原创 文件操作详解

文件是存在磁盘上的。在程序设计中,我们一般会谈论两种文件程序文件和数据文件。(这是按功能进行分类的)

2022-07-20 13:23:41 155

原创 动态内存管理详解(malloc、calloc、realloc)

malloc函数会向内存(堆区)申请一块连续可用的空间,返回指向这块空间的指针。使用malloc函数需注意几点1.如果开辟成功,会返回指向这块空间的指针2.如果开辟失败,会返回空指针(NULL),因此开辟后要检查是否开辟成功3.该函数的返回值是void*,具体类型需要使用者根据实际情况自己决定4.如果出现参数为0的情况,malloc的行为是标准未定义的,取决于编译器非常重要的一点是使用malloc函数向堆区申请了空间后,用完了要用free这个函数释放,否则会发生内存泄露。下面举例说明。.........

2022-07-17 16:31:08 299

原创 结构体内存对齐(如何计算结构体大小)

在VS2019编译器下输出结果为12。我们已经知道c1在内存中占1byte,i在内存中占4byte,c2在内存中占1byte,结果为什么不是6字节,而是12字节呢?结构体中含有相同的成员变量,为什么struct s2只有8字节呢?我们猜测结构体的大小不仅与存放的成员类型有关,还与成员存放的顺序有关。下面我们介绍结构体内存对齐的规则根据内存对齐规则,我们来分析以上两段代码 下面再来分析两端代码:.........

2022-07-14 12:28:40 110 1

原创 字符串函数详细介绍(strlen、strcmp、strcpy、strcat、strstr)

以上代码运行结果如下图所示对此,我们感到很奇怪,为什么输出结果 str2 > str1 呢?是由于strlen函数的返回值是size_t类型的,即无符号整型,所以两个无符号整型的数据相减,同样是无符号整形,该类型的数据恒大于0,所以会输出以上结果。 模拟实现strlen函数1.2 strcpy 拷贝字符串 1.3 strcmp 比较字符串 1.4 strcat 追加字符串 以上个数不受限的字符串函数,还

2022-07-09 18:58:54 302

原创 数据在内存中的储存

以下是几种基本的数据类型1、char //字符数据类型 所占内存大小为1 byte2、short //短整型 所占内存大小为2 byte 3、int //整型

2022-06-27 21:35:30 287

空空如也

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

TA关注的人

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