- 博客(24)
- 收藏
- 关注
原创 Linux 入门:操作系统&&进程详解
认识冯诺依曼体系结构和操作系统OS(Operator System) ,进程的详解,进程基本概念与基本操作 ,进程状态,进程切换和Linux下真实的调度算法
2025-05-04 22:28:39
383
原创 C++:继承机制详解
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的函数层次的复用,继承是类设计层次的复用。
2025-04-25 18:30:49
951
原创 C++ std::stack,queue和priority_queue的超详细指南
C++ std::stack,queue,priority_queue,deque和仿函数的认识和学习
2025-04-15 22:02:35
787
原创 Linux 入门:基础开发工具(上)vim,gcc/g++,make/makefile
详细介绍了Linux的基础开发工具vim,gcc/g++,make/makefile的使用和说明
2025-04-01 22:12:32
1031
原创 Linux 入门:权限的认识和学习
Linux权限的学习,cannot open directory '.': Permission denied解决方法
2025-03-17 22:12:16
1495
原创 C++模板学习(初阶)
class 类模板名// 类内成员定义public:,_size(0){}~Stack()private:T* _array;// 模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误int main()// 类模板都是显示实例化// intreturn 0;
2025-02-23 16:09:29
1071
原创 C/C++内存管理
概念行为new1. 调用分配内存2. 调用构造函数初始化对象仅负责分配原始内存(不调用构造函数)delete1. 调用析构函数销毁对象2. 调用释放内存仅负责释放内存(不调用析构函数)new T[N]1. 调用operator new[]函数,在operator new[]中实际调用operator new函数完成N个对象空间的申请2. 在申请的空间上执行N次构造函数delete[]1. 在释放的对象空间上执行N次析构函数,完成N个对象中资源的清理。
2025-02-20 19:36:56
1030
原创 C++类和对象的认识(下)
5.尽量使用初始化列表初始化,因为那些你不在初始化列表初始化的成员也会走初始化列表,如果这个成员在声明位置给了缺省值,初始化列表会用这个缺省值初始化。3.内部类本质也是⼀种封装,当A类跟B类紧密关联,A类实现出来主要就是给B类使用,那么可以考虑把A类设计为B的内部类,如果放到private/protected位置,那么A类就是B类的专属内部类,其他地方都用不了。1.如果⼀个类定义在另⼀个类的内部,这个内部类就叫做内部类。6.友元类的关系是单向的,不具有交换性,比如A类是B类的友元,但是B类不是A类的友元。
2025-02-16 01:27:59
333
原创 C++类和对象的认识(中)
要求调用这个成员变量的默认构造函数初始化。如果这个成员变量,没有默认构造函数,那么就会报错,我们要初始化这个成员变量,需要用初始化列表才能解决。注:C++把类型分成内置类型(基本类型)和自定义类型。内置类型就是语言提供的原生数据类型,如:int/char/double/指针等,自定义类型就是我们使用class/struct等关键字自己定义的类型。
2025-02-16 01:13:00
873
原创 C++类和对象的认识(上)
class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。C++中struct也可以定义类,C++兼容C中struct的用法,同时struct升级成了类,明显的变化是struct中可以定义函数,⼀般情况下我们还是推荐用class定义类定义在类面的成员函数默认为inline{}public:void Pop(){}int Top()return 0;
2024-12-13 17:29:05
741
原创 C++入门基础
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接⼀对{}即可注意不用在括号后面加;),{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各自独立,不同的域可以定义同名变量,所以下面的rand不在冲突了。C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全局域除了会影响编译查找逻辑,还。
2024-12-06 18:22:52
727
原创 C语言:使用fwrite和fread实现一个音乐或者视频文件的拷贝
at+”——读写打开一个文本文件,允许读,或在文件未追加数据。“ab”——追加打开一个二进制文件,并在文件尾部追加数据。“wt+”————读写打开或建立一个文本文件,允许读写。“wb+” ——读写打开或建立一个二进制文件,允许读和。“wb”——只写打开或建一个二进制文件,只允许写数据(“rt+”——读写打开或建立一个文本文件,充读读写。“rb+”——读写打开一个二进制文件,允许读和写。音频文件(MP3/WAV/FLAC)视频文件(MP4/AVI/MKV)可执行文件(EXE/SO/DLL)
2024-07-31 20:56:38
268
原创 环形链表——快慢指针的使用
(2).slow走一步,fast走3步,4步,n步,也一定能追上吗?(1).为什么题目1中一定会相遇,有没有可能会错过,永远追不上?问题(2)(3):假设fast走3步,slow走1步。的条件不能同时出现,永远追不上的条件不能成立。(3).为什么一定相遇?当fast与slow的距离为0时就追上了。问题(1):fast走2步,slow走1步。使用一个指针来进行判断经过同一个点。此时题目就变成了追击问题。N是奇数且c是偶数时。N是奇数且c是偶数时。
2024-05-04 19:49:51
407
原创 C语言:分支循环语句
用于初始化表达式,然后检查条件,并在条件为真时重复执行代码块,改变初始值。当条件为真时执行一个代码块,为假时执行另一个代码块。至少执行一次代码块,然后当给定条件为真时重复执行。用于根据变量的值选择要执行的代码块。当给定条件为真时,重复执行代码块。用于在多个条件之间选择。
2024-02-03 00:54:25
667
1
基于springboot-书籍管理系统-java
2025-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人