自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MuqiuWhite的博客

努力学习中......

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

原创 云服务器 linux SSH无法使用xshell远程登录:Could not connect to ‘192.168.xxx.xxx‘ (port 22): Connection failed.

在使用centos7搭建服务器的时候,不知道为什么突然莫名其妙xshell就登录不了了,可以尝试重新安装ssh。

2023-06-28 03:05:58 1239

原创 Linux操作系统——第五章 进程信号

每个信号都有一个编号和一个宏定义名称,这些宏定义可以在signal.h中找到,例如其中有定义 #define SIGINT 2编号34以上的是实时信号,本章只讨论编号34以下的信号,不讨论实时信号。

2023-06-27 01:18:04 2165

原创 Linux操作系统——第四章 进程间通信

数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。管道是Unix中最古老的进程间通信的形式。我们把从一个进程连接到另一个进程的一个数据流称为一个“管道。

2023-06-14 20:18:08 611

原创 Linux操作系统——第三章 基础IO

要打开或创建的目标文件: 打开文件时,可以传入多个参数选项,用下面的一个或者多个常量进行“或”运算,构成flagsO_RDONLY: 只读打开O_WRONLY: 只写打开O_RDWR : 读,写打开O_CREAT : 若文件不存在,则创建它。需要使用mode选项,来指明新文件的访问权限O_APPEND: 追加写成功:新打开的文件描述符失败:-1open 函数具体使用哪个,和具体应用场景相关。

2023-06-09 21:08:01 579

原创 Linux操作系统——第二章 进程控制

用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。子进程退出,父进程如果不管不顾,就可能造成‘僵尸进程’的问题,进而造成内存泄漏。另外,进程一旦变成僵尸状态,那就刀枪不入,“杀人不眨眼”的kill -9 也无能为力,因为谁也没有办法杀死一个已经死去的进程。如果子进程已经退出,调用wait/waitpid时,wait/waitpid会立即返回,并且释放资源,获得子进程退出信息。新进程为子进程,而原进程为父进程。

2023-06-08 01:27:14 349

原创 Linux操作系统——第一章 进程

如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是。维护退出状态本身就是要用数据维护,也属于进程基本信息,所以保存在task_struct(PCB)中,换句话说,Z状态一直不退出,进程的退出状态必须被维持下去,因为他要告诉关心它的进程(父进程),你交给我的任务,我办的怎么样了。可父进程如果一直不读取,那。需要强调一点的是,进程的nice值不是进程的优先级,他们不是一个概念,但是进程nice值会影响到进程的优先级变化。

2023-06-04 23:51:33 375

原创 C++笔记—— 第十七篇 智能指针 C++11来了(下)

应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏的危害:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现内存泄漏会导致响应越来越慢,最终卡死// 1.内存申请了忘记释放// 2.异常安全问题Func();// 这里Func函数抛异常导致 delete[] p3未执行,p3没被释放.

2023-05-10 22:51:04 518 1

原创 C++笔记——第十六篇 异常

3. 如果到达main函数的栈,依旧没有匹配的,则终止程序。C++中异常经常会导致资源泄漏的问题,比如在new和delete中抛出了异常,导致内存泄漏,在lock和unlock之间抛出了异常导致死锁,C++经常使用RAII来解决以上问题。1. 异常对象定义好了,相比错误码的方式可以清晰准确的展示出错误的各种信息,甚至可以包含堆栈调用的信息,这样可以帮助更好的定位程序的bug。异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误。

2023-05-05 23:06:22 441

原创 C++笔记——第十五篇 C++11来了 (上)

C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率。int _y;C++11中最重要的特性就是对线程进行支持了,使得C++在并行编程时不需要依赖第三方库,而且在原子操作中还引入了原子类的概念。要使用标准库中的线程,必须包含< thread >头文件thread() ——构造一个线程对象,没有关联任何线程函数,即没有启动任何线程。

2023-05-03 15:49:14 566

原创 VS2019配置redis客户端的c++开发环境

先编译demo,再点击之前设定好的exe文件目录下(\bin) 的 redis-server.exe,出现图形化界面,最后运行demo得到结果。注意都得是 / ,如果直接从文件路径复制过来是 \ ,是不对的,会出现 error ....。把所有的.dll 文件复制到 .exe 文件目录下,也就是该篇文章中设置的 \bin 目录下。以上是遇到的一些问题,但是折腾一下午。

2023-05-02 15:37:47 1196

原创 C++笔记——第十四篇 哈希

1. unordered_map是存储键值对的关联式容器,其允许通过keys快速的索引到与其对应的value。2. 在unordered_map中,键值通常用于惟一地标识元素,而映射值是一个对象,其内容与此键关联。键和映射值的类型可能不同。3. 在内部,unordered_map没有对按照任何特定的顺序排序, 为了能在常数范围内找到key所对应的value,unordered_map将相同哈希值的键值对放在相同的桶中。4. unordered_map容器。

2023-04-18 23:42:31 265

原创 C++笔记——第十三篇 种一颗 AVL树,长大变成 红黑树,开出了 map和set

1. map是关联容器,它按照特定的次序(按照key来比较)存储由键值key和值value组合而成的元素。2. 在map中,键值key通常用于排序和惟一地标识元素,而值value中存储与此键值key关联的内容。键值key和值value的类型可能不同,并且在map的内部,key与value通过成员类型value_type绑定在一起,为其取别名称为pair3. 在内部,map中的元素总是按照键值key进行比较排序的。

2023-04-12 22:11:08 399

原创 C++笔记——第十二篇 二叉搜索树

比如英汉词典就是英文与中文的对应关系,通过英文可以快速找到与其对应的中文,英文单词与其对应的中文就构成一种键值对;再比如统计单词次数,统计成功后,给定单词就可快速找到其出现的次数,单词与其出现次数就是就构成一种键值对。求从根节点到叶子的路径,所以需要前序遍历,这样才方便让父节点指向孩子节点,找到对应的路径;2. KV模型:每一个关键码key,都有与之对应的值Value,即的键值对。

2023-04-04 21:05:41 509

原创 C++笔记——第十一篇 多态 深入剖析

多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承Person。Person对象买票全价,Student对象买票半价。那么在继承中要构成多态还有两个条件:1. 必须通过基类的指针或者引用调用虚函数2. 被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写。

2023-04-03 22:28:30 327

原创 C++笔记——第十篇 继承 的解析,详细易懂哦

继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。public:protected:// 姓名// 年龄protected:int _stuid;// 学号protected:int _jobid;// 工号int main()

2023-03-28 17:28:13 335

原创 C++笔记——第九篇 C++的IO流 文件操作搞不懂?来这里看看吧!

在C语言中,如果想要将一个整形变量的数据转化为字符串格式:1. 使用itoa()函数2. 使用sprintf()函数但是两个函数在转化时,都得需要先给出保存结果的空间,那空间要给多大呢,就不太好界定,而且转化格式不匹配时,可能还会得到错误的结果甚至程序崩溃。在C++中,可以使用stringstream类对象来避开此问题。在程序中如果想要使用stringstream,必须要包含头文件。

2023-03-24 17:27:08 514

原创 C++笔记——第八篇 与模板的深入交流

一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2. 增强了代码的灵活性【缺陷】1. 模板会导致代码膨胀问题,也会导致编译时间变长2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误(图片来源于网络)

2023-03-23 16:56:01 256

原创 C++笔记——第七篇 stack和queue

1.stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。2. stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。3. stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下操作:empty:判空操作back:获取尾部元素操作。

2023-03-22 22:09:26 191

原创 C++笔记——第六篇 list的简介和使用

1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。3. list与非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。4. 与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。

2023-03-21 16:51:37 332

原创 C++笔记——第五篇 vector 它像数组又不像数组

构造函数声明接口说明vector()无参构造构造并初始化n个val拷贝构造使用迭代器进行初始化构造。

2023-03-20 16:23:14 413

原创 C++——第四篇 string 深入剖析

一、标准库的string类1. string类2.string类的常用接口说明二、 string类的模拟实现1.浅拷贝2.深拷贝3.写时拷贝。

2023-03-17 17:15:01 402

原创 C++笔记——第三篇 模板 是什么板?照着写那种吗?

class 类模板名// 类内成员定义// 注意:Vector不是具体的类,是编译器根据被实例化的类型生成具体类的模具public:, _size(0){}// 使用析构函数:在类中声明,在类外定义。~Vector();// 注意:类模板中函数放在类外进行定义时,需要加模板参数列表。

2023-03-16 16:40:23 303

原创 C++笔记——第二篇 内存管理是什么?

/ 申请单个Test类型的对象delete p1;// 申请10个Test类型的对象在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数,而malloc与free不会内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不。

2023-03-15 15:34:47 209

原创 C++笔记——第一篇 类与对象

age = age;int _age;s.SetStudentInfo("哈哈", "女", 18);return 0;// 类体:由成员函数和成员变量组成//分号类中的元素称为类的成员:类中的数据称为类的属性或者成员变量;类中的函数称为类的方法或者成员函数。1. 声明和定义全部放在类体中,需要注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理2. 声明放在.h文件中,类的定义放在.cpp文件中(采用第二种方式更好)

2023-03-15 12:00:00 285

原创 数据结构与算法之哈希表 做题思路总结

判断一个数在集合中是否重复出现过,一个元素是否在集合里。

2022-12-15 21:50:19 105

原创 《剑指offer》75题 C++详细题解

刷题快乐~

2022-12-06 21:48:34 3037 1

原创 linux下使用make指令生成程序时提示“XXX is up to date”问题的解决办法

make时,linux的报错。

2022-10-23 21:36:27 1361

原创 数据结构与算法之动态规划 做题思路总结 附详解

如果对你有帮助,请一键三连(点赞+收藏+关注)哦~ 感谢支持!欢迎各位在评论区与博主友好讨论!缓慢更新中……

2022-05-07 01:11:29 541

原创 二叉树进阶练习题,附详解,来做题喽~

如果对你有帮助,请一键三连(点赞+收藏+关注)哦~ 感谢支持!欢迎各位在评论区与博主友好讨论!缓慢更新中……606. 根据二叉树创建字符串根据示例可得,右边不为空,左边显示和左边不为空,右边为空时,右边不显示。class Solution {public: void test(TreeNode*root,string& s) { if(root==nullptr) return; s+=to_string(roo

2022-04-30 21:55:31 600

原创 MySql的Blob字段报错:Data truncation: Data too long for column ‘xxx‘ at row 1

如果对你有帮助,请一键三连(点赞+收藏+关注)哦~ 感谢支持!欢迎各位在评论区与博主友好讨论!缓慢更新中……

2022-04-02 01:56:40 2540

原创 数据结构之链表 思路总结

如果对你有帮助,请一键三连(点赞+收藏+关注)哦~ 感谢支持!欢迎各位在评论区与博主友好讨论!缓慢更新中……

2022-03-29 17:03:18 417

原创 数据结构之数组 思路总结

如果对你有帮助,请一键三连(点赞+收藏+关注)哦~ 感谢支持!欢迎各位在评论区与博主友好讨论!缓慢更新中……

2022-03-25 01:41:50 630

原创 C++快慢指针解决Leecode 142 环形链表 ||

C++快慢指针

2022-03-19 17:29:41 585

原创 C语言实现数组二分查找,leecode相关题解

如果对你有帮助,请一键三连(点赞+收藏+关注)哦~感谢支持!欢迎各位在评论区与博主友好讨论!缓慢更新中……一、简单704int search(int* nums, int numsSize, int target){ int re=0; int right=numsSize-1,left=0,mid=0; while(left<=right) { mid=(left+right)/2;//每次取中间值 if(n..

2021-10-24 14:41:23 2378 2

原创 C语言笔记——番外篇 可用于多种类型的排序法,qsort()函数模拟实现

#include <stdio.h>int int_cmp(void* p1,void* p2){ return (*(int*)p1 - *(int*)p2);}void _swap(void* p1, void* p2, int size){ int i = 0; for (i = 0; i < size; i++) { char tmp = *((char*)p1 + i); *((char*)p1 + i) = *((char*)p2 + i); .

2021-10-09 00:46:46 83

原创 C语言笔记——第三篇 指针没有那么难,附笔试练习题详解

这是我在学习过程中的笔记,总结的经验,踩过的坑。希望能对你有所帮助。持续缓慢更新......

2021-10-06 18:21:08 431 3

原创 C语言笔记——第二篇 数据的存储,附练习题详解

这是我在学习过程中的笔记,总结的经验,踩过的坑。希望能对你有所帮助。持续缓慢更新......

2021-10-03 23:38:02 506 12

原创 C语言笔记——番外篇 大小端练习 百度2015年系统工程师笔试题

请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)#include <stdio.h>int check(){ int i = 1; return (*(char*)&i);}int main(){ int c=re_check(); int c = check(); if (c == 1) { printf("小端\n"); } else { printf("大端\n"); } return ..

2021-10-03 20:00:27 115

原创 C语言笔记——番外篇 你掌握了吗?必会的大厂动态内存管理笔试题,代码详解。

必须掌握的大厂经典笔试题!检测动态内存分配的知识!点赞+评论+收藏+关注~ 感谢!

2021-10-02 01:52:25 80

原创 C/C++数据结构与算法——线性表之单链表 代码+注释

单链表 C语言 代码+注释 如果对你有帮助:点赞+收藏+评论+关注~ 感谢!

2021-10-01 09:45:00 169

空空如也

空空如也

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

TA关注的人

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