自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++特性 多态

多态是一个继承关系下的类对象,去调用同一函数,产生不同的行为。Student继承了person。Person对象买全价票,Student对象买半价票。public://虚函数 类成员函数前加virtualcout << "全价买票" << endl;public:cout << "半价买票" << endl;// 这里可以看到虽然都是Person指针Ptr在调用BuyTicket// 但是跟ptr没关系,而是由ptr指向的对象决定的int main()fun(p1);

2025-11-12 11:52:48 731

原创 类与对象1

定义在。

2025-10-11 12:18:20 810

原创 信号[特殊字符][特殊字符][特殊字符]

理解闹钟。

2026-02-07 08:40:23 204

原创 进程通信--进程间说悄悄话

由于操作系统通过进程隔离(每个进程拥有独立的内存空间)保障安全性和稳定性,进程无法直接访问其他进程的内存,因此需要特定的通信方式来实现协作。进程间通信(Inter-Process Communication,IPC)是操作系统提供的一种机制,允许不同进程之间。进程通信的本质:是让不同的进程,先看到同一份资源“内存”。(然后才有通信的条件)小于PIPE_BUF 是具有原子性的。Linux下,为4096字节。2具体的通信方式(原理+代码)2System V 本机通信。1基于文件的,管道通信。

2026-02-02 20:02:19 609

原创 小敌人 动静态库

动静态库。

2026-01-28 13:46:19 598

原创 Ext文件系统

我们研究的这个文件和以前的IO文件有什么区别。

2026-01-24 11:53:09 372

原创 我的发什么是基础的IO流

我们在C语言的文件操作函数,实际上在底层封装了open系统调用。

2026-01-22 22:11:29 254

原创 神秘的环境变量和进程地址空间

链接时,在环境变量的帮助下链接动静态库。

2026-01-11 08:30:34 878

原创 进程优先级与切换调度

进程顺序。

2026-01-09 20:06:51 284

原创 进程的状态

进程状态就是task_struct内的一个整数。

2026-01-09 11:17:53 269

原创 进程的理解

计算机(笔记本,服务器)大部分都遵循冯诺依曼体系。:键盘,鼠标,话筒,摄像头,网卡,磁盘(其实就是外存):显示器,磁盘,网卡,打印机.....:运算器➕控制器存储器就是内存。

2026-01-08 11:56:35 752

原创 智能指针喵喵喵

保障了资源的正常释放,避免了资源泄露问题。智能指针除了要满足RAII思路,还要方便访问资源,所以还会像迭代器重载一些操作符operator*/operator->/operator[],方便访问资源。

2025-12-19 21:34:17 668

原创 异常那些不为人知的秘密

异常处理机制 允许程序中独立开发的部分在运行时就出现的问题 进行通信 并做出相应的处理,异常使得我们将问题的检测与解决问题的过程分开,程序的一部分负责检测问题的出现,然后解决问题的任务传递给程序的另一部分,检测环节问题处理模块的不需要所有细节。C语言主要通过错误码的形式处理错误,错误码本质就是对错误信息进行分类编号,拿到错误码以后还要去查询错误信息,比较麻烦。异常时抛出一个对象,这个对象可以包含更全面的各种信息。程序出现问题时,我们通过抛出(throw)一个对象来引发异常,该对象当前的类型以及调用链决定

2025-12-17 18:44:39 908

原创 C++11那些不为人知的特性

lambda表达式本质是一个匿名函数对象,和普通函数不同的是他可以定义在函数内部。在语法层面是来讲是没有类型的,用 auto或者模板参数定义的对象来接收。格式[ ]捕捉列表,出现在lambda函数的开始位置,编译器根据捕捉列表判断后面的表达式是否为lambda函数,捕捉列表可以捕捉变量供lambda函数使用,捕捉列表可以传值捕捉和传引用捕捉。捕捉列表为空也不可以忽略。( )参数列表,传参 ,如果不需要参数的传递,则可以连()一起省略-> 返回值类型,用追踪返回类型形式。

2025-12-17 08:43:15 1011

原创 哈希表的实现

哈希又称散列,。数据按某种形式,散乱排列。,查找时根据,进行快速查找。

2025-12-07 22:30:09 994

原创 用红黑树封装map和set

map和set的,只是一个存放Key,一个存放Key/Value,关于其插入,,这里尝试用。

2025-11-30 11:10:09 845

原创 红黑树实现

红黑树是一颗,他的每个节点,可以是红色或者黑色。通过,红黑树。

2025-11-27 20:47:30 1064 1

原创 AVL[特殊字符]的理解

AVL树是1AVL是一颗。2它的,且左右子树的高度差绝对值不超过1。AVL树是一颗高度的平衡二叉搜索树,通过高度差去控制平衡。AVL树整体结点数量和分布和完全二叉搜索树类似,。

2025-11-22 19:50:27 633

原创 二叉搜索树

又叫二叉排序树,有两种情况2是一颗满足以下性质的树如果左子树不为空,则左子树所有节点小于根节点如果右子树不为空,则右子树所有节点小于根节点左右子树也分别为二叉搜索树。multimap/multiset/map/set底层都为二叉搜索树,其中map/set不可以插入相同的值,multimap/multiset可以插入相同的值。

2025-11-20 18:42:09 682

原创 C++ 三大特性 继承

/派生类 基类public://学习protected:int _stuid;//学号。

2025-11-09 08:08:36 699

原创 Stack_Queue

stack是一种先进后出的数据结构,只要能实现的线性结构都可以作为stack的底层容器,如vector或者list。queue是一种先进后出的数据结构,只要能实现的线性结构度可以作为queue的底层容器,如list。选择deque作为stack或者queue的底层容器,主要是:1stack和queue只需要。2在stack元素增长时,;queue中的元素增长时,;

2025-10-30 09:31:47 334

原创 STL_string的模拟实现

【代码】STL_string的模拟实现。

2025-10-29 19:40:40 117

原创 C++模板进阶

文件中。

2025-10-29 15:33:27 298

原创 list的模拟实现

【代码】list的模拟实现。

2025-10-28 11:21:17 118

原创 STL_List简单使用

2push_back 与emplace的比较。1简单应用 push_back。vector与list效率对比。insert与erase。

2025-10-28 11:19:17 219

原创 STL_string的接口初步了解

【代码】STL_string的接口初步了解。

2025-10-24 20:00:00 283

原创 vector习题

https://leetcode.cn/problems/single-number/https://leetcode.cn/problems/pascals-triangle/description/https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/https://leetcode.cn/problems/single-number-ii/description/https://leetcode.cn/

2025-10-22 19:16:44 326

原创 vector容器及其实现

reserveresize插入接口和删除接口可以存放内置类型和自定义类型具体实现

2025-10-22 11:41:45 231

原创 模板简介初阶

模板不建议定义和声明到两个文件中.h和.cpp会出现链接错误。int main()//类模板都是显示实例化//调用operater new 开空间然后调用 构造函数开数组//delete p1;//调用析构函数 清理数组资源 然后调用operator delete删除空间return 0;

2025-10-21 10:21:01 392

原创 内存管理C++

栈又叫堆栈局部变量(非静态)、函数参数、返回值等等,栈是向下增长的。堆用于程序运行时动态分配内存堆可以向上增长。数据段全局数据和静态数据。代码段可执行代码和只读常量。C语言的动态内存管理方式malloc calloc reallocclass Apublic::_a1(a1),_a2(a2)if (this!return 0;//{

2025-10-20 21:21:10 901

原创 类和对象3

实现构造函数中初始化成员变量时,主要使用函数体内赋值,构造函数初始化还有一种方式是,就是初始化列表。初始化列表的使用方式 以一个冒号开头,接着以一个逗号分割的数据成员列表,每个“成员变量”后面跟初始值或者表达式。每个成员变量都只能在初始化列表出现一次,语法理解上初始化列表是每个成员变量定义初始化的地方。引用成员变量,const成员变量,没有默认构造的类 类型变量,必须放在初始化列表进行初始化,否则会编译报错。C++11支持在成员变量声明的位置给缺省值,这个缺省值主要是给没有显示在初始化列表成员使用的。

2025-10-18 14:34:30 606

原创 类与对象2

如果一个构造函数的第一个参数是自身类类型的引用,且任何其他参数都有默认值,这个构造函数也叫做拷贝构造函数,也就是说拷贝构造是一个特殊的构造函数。拷贝构造函数 用一个已经存在的对象去初始化另一个对象class Datapublic://无参构造函数//Data()//{//}//全缺省构造函数_day = day;//半缺省构造函数//{//}//结构体C语言也会完成拷贝~Data()private:int _year;int _month;

2025-10-13 10:15:09 878

原创 构造函数和初始化列表的关系

因为使用构造函数一定不可避免的会调用自定义类型成员变量的默认构造,然而使用初始化列表可以避免使用默认构造函数,直接调用该成员变量的拷贝构造class Time //声明一个Time类,类中有三个成员变量,和一个有参构造函数public:private:int _hour;

2025-10-02 21:11:35 208

原创 编译和链接

摘要: 程序从源代码到执行需经历翻译和运行两个环境。翻译环境包括编译(预处理、词法语法分析、语义分析、汇编)和链接(地址分配、符号决议)过程,将.c文件转换为可执行程序。运行环境则负责程序载入内存、执行main函数、管理堆栈/静态内存以及程序终止。其中链接阶段需解决多文件间的符号引用问题,通过重定位修正函数和变量的地址。整个过程涉及编译器、汇编器和链接器的协同工作,最终生成可在特定操作系统或独立环境中运行的可执行文件。(149字)

2025-10-02 08:55:03 820

原创 C语言复习数组

数组里面存放多个(至少一个 不能为0)相同类型的数据。

2025-10-01 20:22:35 300

原创 C++入门基础知识

1.namespace后面跟命名空间名,{命名空间的成员变量},{}里面是变量,函数,类型。2.namespace的本质是定义出一个域,这个域于全局域互相独立,所以就解决了变量冲突3.C++中有全局域,局部域,命名空间域,类域。域影响的是编译时,语法查找一个变量/函数/类型出处的逻辑,有了域的隔离,命名冲突问题也就解决了。局部域和全局域不仅影响语法查找逻辑,还影响变量的生命周期。命名空间域和类域不影响变量的生命周期。4.namespace只可以在全局定义,也可以嵌套定义。

2025-09-25 17:35:18 694

原创 栈和队列初步认识

【代码】栈和队列初步认识。

2025-09-06 16:12:21 106

原创 链表经典考察题

返回相遇点或者第一个入环节点。

2025-09-01 11:06:37 180

原创 初步认识顺序表

顺序表是线性表的一种,其底层是数组,进行一系列封装,实现增删查改,包装成顺序表。线性表包括顺序表,链表,栈,队列等等。是n个具有相同元素的有限序列。线性表在物理上存储时,以数组或链表形式存储。物理结构上不一定连续,逻辑结构一定连续。

2025-08-31 15:54:31 201

原创 初认识链表

【链表操作摘要】链表是一种非连续存储结构,通过指针连接节点。本文介绍了链表的基本操作实现:1)节点定义与打印;2)尾插/头插操作;3)尾删/头删处理;4)查找节点;5)指定位置插入/删除节点(包括前后位置处理);6)链表销毁。关键点在于动态内存管理和指针操作,特别注意处理空链表和边界情况。代码展示了完整的链表操作函数集,包括开辟节点、遍历链表和指针重定向等核心操作细节。

2025-08-28 12:34:41 139

base.apk

base.apk

2023-11-17

空空如也

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

TA关注的人

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