- 博客(33)
- 收藏
- 关注
原创 Linux:进程控制详解
可变参数最后一个一定要传入NULL表示传递完成, 程序替换时配合fork使用,可以使得程序替换后面的代码不会影响结果。只用带文件名,bash会在指定的PATH中去寻找这个文件。提供一个命令行参数表,实际上就是一个字符指针数组。传入环境变量,子进程用传入的这个环境变量将原来浅拷贝的环境变量替换掉。
2025-01-18 10:57:49
778
原创 Linux:进程概念详解
磁盘中的程序在被执行时,首先要在物理内存空间中开辟代码和数据所需的地址空间,再去虚拟地址空间的相应位置开辟空间,接着我们再去填充页表,虚拟内存和内存间就建立了一一映射的关系。我们在创建变量后,会在内存中存在一个真实的物理空间,同时虚拟地址空间会记录下这个地址空间的地址,我们在访问变量时只需要。我们发现子进程和父进程的地址是一样的,但是相同地址的值却不相同,进一步证明了当前地址是虚拟地址。我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但。
2025-01-18 10:35:40
1071
原创 Linux : Linux环境开发工具vim / gcc / makefile / gdb / git的使用
等。通常情况下,条件编译的作用是是将应用划分成不同的版本。
2025-01-08 18:33:22
1580
2
原创 Linux :用户权限详解
Linux权限详解一、认识权限二、用户间切换三、指令提权四、修改属性(一)修改拥有者 / 所属组(二)修改r/w/x权限1、非八进制2、八进制(三)缺省权限和权限掩码五、粘滞位一、认识权限权限就是你能不能做一件事情,在了解linux的权限之前,我们要先了解Linux中的人和事物。人 = 真实的人 + 身份角色何为真实的人呢,它指的是linux下的各个用户以及超级用户root,而在一个文件中身份角色分为三类,一个人的身份匹配规则是,从前向后只匹配一次。身份角色包括拥有者,所属组,
2025-01-07 15:44:15
577
原创 数据结构:二叉搜索树详解
这个是之前用C语言实现的二叉排序树的插入,当时觉得设计的已经十分巧妙,现在学了C++,使用了更加可维护,高效率的方式实现,也就是下面的非递归。假如我们使用数组进行储存和搜索数据,二分查找也可以实现 O(logN) 级别的查找效率,却有不足。仍然是二叉搜索树,只是此时除了键值以外还多了一个绑定的值,这个值可以是任何类型。二叉排序树的中序遍历是按照升序排列的,所以⼜称⼆叉排序树,在。key/value的搜索场景实现的二叉树搜索树支持修改。加以修饰,在遍历的时候,需要使用。,完美的避开了上诉的缺点。
2025-01-06 18:23:10
900
原创 C++ : 面向对象三大特性--多态
在基类中,使用virtual关键字声明的成员函数称为虚函数。虚函数的重写/覆盖:派生类中有⼀个跟基类完全相同的虚函数(即返回值类型、函数名字、参数列表完全相同),称派⽣类的虚函数重写了基类的虚函数。public:cout << "买票-全价" << endl;public:cout << "买票-打折" << endl;注意:在重写基类虚函数时,派⽣类的虚函数在不加virtual关键字时,虽然也可以构成重写,但是该种写法不是很规范,得到的结果就是父类的参数部分加上派生类的函数体。
2025-01-06 18:20:20
814
原创 c++:泛型编程之模板详解
模板就是给编译器一个模子,让编译器根据不同的类型利用该模子来生成代码typename是用来定义模板参数关键字,也可以使用class类模板在实例化时,我们在传入变量的类型时就确定了其中的类型,成员属性已经确定了,但是成员函数是按需实例化。++_size;
2024-11-26 17:35:21
1189
22
原创 c++:面向对象三大特性--继承
继承是⾯向对象程序设计使代码可以复用的最重要的⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变量),这样产⽣新的类,称派⽣类。
2024-11-26 14:21:46
1853
57
原创 C++:动态内存分配(new、delete 相比 malloc、free的优势)与运算符重载
C++动态内存分布,运算符重载超级详细教程
2024-09-19 17:07:18
2381
127
原创 编程基础:函数栈帧的创建和销毁
函数栈帧是指在程序执行过程中,每个被调用的函数会在内存中分配一块特定的存储区域,用于存储函数的局部变量、函数参数、返回地址以及其他与函数执行相关的信息
2024-09-17 16:14:12
1539
101
原创 数据结构:平衡二叉树之红黑树插入删除
红黑树是一种自平衡二叉查找树,它通过特定的性质和操作来维持树的平衡,确保在最坏情况下的基本动态集合操作(如查找、插入、删除)的时间复杂度保持在 O(log n)。
2024-07-14 14:29:31
1137
19
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人