- 博客(28)
- 收藏
- 关注
原创 操作系统(进程+进程的状态)
所谓的进程就是类似一个可执行程序,加载自己的代码从磁盘到内存,在此之前会先加载操作系统这个大的进程,然后操作系统根据磁盘加载文件,在操作系统内部创建一个pcb(进程控制块(类似于节点存放进程的属性 指向该代码(能指向改代码的原因是因为pcb中存在一个指向代码数据的指针))),类似情况操作系统想对进程进行增删查改,其实就是对其内部节点进行增删查改。
2025-05-06 10:35:14
761
原创 c++ string类 +底层模拟实现
两则底层逻辑相同,但是对于迭代器来讲可以在迭代器中修改变量值(因为底层类似指针可以直接修改对应地址的·1值),而对于范围for来讲,(auto ch: s2)相当于是一个拷贝,修改ch的值并不能修改实参的值,所以需要用引用(auto& ch: s2)才能修改变量的值。对于拷贝构造,对自定义类型完成神拷贝,浅拷贝(一个字节一个字节拷贝)并不能满足,原因如下。对于写时拷贝只试用满足原因1,并不能满足条件2(自己进行扩容规深拷贝)相当于一个字符一个字符读取字符串,遇到,‘\0’会终止读取。
2025-02-02 16:45:32
388
原创 C++复习
如果该自定义变量有对应的默认构造(原本类里边),那么可以不在初始化列表对它进行初始化,如果没有该变量的默认构造,则需要在初始化列表进行初始化,若存在默认构造且在初始化列表对该变量也有进行初始化,则优先使用初始化列表的初始化。
2025-01-14 23:38:03
1001
原创 MYSQL 库,表 基本操作
1.对将要存储的数据进行编码2.对将要执行的操作(增删查改)数据是对数据编码的校验,本质也是一种读取数据库中数据库采用的一种编码格式。
2024-11-13 22:12:46
679
原创 SQL pta习题
select sdept as 系别,ssex as 性别, count(*) as 人数。select cno as 课程号,cname as 课程名,credit as 学分。select sno as 学号,sname as 姓名,pnum as 身份证号码。select cno as 课程号,count(*) as 选课人数。select dept as 院部 ,count(*) as 总人数。where dept='音乐学院' or dept='体育学院';where sex='女';
2024-11-08 00:16:14
800
原创 Linux常见基本指令大全
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。“=”表示套接字(sockets)。head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾。2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。
2024-10-26 15:10:18
1047
2
原创 C++(类和对象.下)
这是因为实例化对象2进行了一个隐式类型转换。在数值2赋值给B b2对象时,会默认生成一个临时的拷贝构造(拷贝函数为类的构造函数)。然后在把拷贝构造后的类型给对象b2,进行调用。由以上运行结果可知,我们晓得实例化对象1很正常调用构造函数,但实例化对象2觉得比较奇怪。如果不想进行类似隐式类型转换,那么就在构造函数前加explicit关键字即可。
2024-08-08 18:04:08
297
原创 C++(类和对象.中)
⽆参构造函数如下图所示,我们在类中不进行,函数构造只使用自带的默认构造函数,最后结果初始化内置类型为随机变量,(我这里使用的是vs2022,该编译器并没有进行初始化,其他编译器可能会对变量进行初始化)由此也可以回归我们刚开始提出的两个问题,使用编译器初始化变量是不可靠的,需要我们自己写。总结:大多数情况下,构造函数都需要我们自己去实现。少数类似MYQueue且Stack有Stack有默认构时,MyQueue自动生成可以用。若实例化多个对象,后实例化的先析构,类似于栈后进先出·原则。
2024-07-30 18:16:06
569
原创 C++(类和对象.上)
• class为定义类的关键字,Data为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省 略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或 者成员函数。• 为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_ 或者 m 开头,注意C++中这个并不是强制的,只是⼀些惯例,具体看公司的要求。
2024-07-27 16:47:00
1038
原创 C++(入门1)
定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下 ⾯的rand不在冲突了。C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。
2024-07-25 16:39:28
1489
原创 一道链表综合题(这题会了 链表对你so easy)
我们在原链表的基础上,在每个结点后边创建一个与前结点一模一样的结点,把他们插进原链表,然后根据原链表random指向的结点,让新创建节点的的randm指向原结点random的下一个结点的next:然后把新创建的结点在尾插下来就可以了。大体意思就是复制一个一摸一样链表出来,看到这有些人就会想复制链表吗谁不会,但仔细看题可知,链表中还存储一个random,这样就使我们不知道如何操作了。温馨提醒:如有些话语看不懂,欢迎来打扰小编,很高兴为你解答。
2024-07-16 16:56:18
185
1
原创 链表带环问题(如何判断链表带环)
所谓带环就是一组链表种最后一个结点的next指针不指向NULL而是指向该链表的某个结点。eg:如何判断一个链表是否带环?以目前阶段所学知识,唯一方案。意思就算是先定义一个快指针,和一个慢指针,让快指针每次走两步,慢指针每次走一步。如果当慢指针将要进入环中时,快指针已经在园内某个位置了。在当快指针与慢指针相遇时,即可判断该链表带环。如果不带环,则两则相遇是值next值都为NULL,也就是链表最后一个节点。
2024-07-16 15:01:00
902
原创 初识C语言
作为新手小白初学编程一定要有一个明确的目标,刚开始学一定要花较多时间去学编程,为以后能进一家自己满意的IT公司做铺垫了。最后希望所有学编程的小伙伴们都有所成就。
2024-01-18 09:41:47
1452
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅