小猪快快跑
码龄6年
关注
提问 私信
  • 博客:19,598
    19,598
    总访问量
  • 13
    原创
  • 2,305,917
    排名
  • 3
    粉丝
  • 0
    铁粉

个人简介:每天进步一点点

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2018-06-15
博客简介:

weixin_42468707的博客

查看详细资料
个人成就
  • 获得25次点赞
  • 内容获得4次评论
  • 获得60次收藏
创作历程
  • 13篇
    2022年
成就勋章
TA的专栏
  • 智能指针
    1篇
  • STL
    1篇
  • 迭代器
    1篇
  • muduo
    3篇
  • C++网络编程
    6篇
  • TCP IP网络编程
    2篇
  • MYSQL
    2篇
  • 操作系统
    1篇
  • 内存调度
    1篇
  • 数据结构与算法
    1篇
  • 数组元素个数
兴趣领域 设置
  • 数据结构与算法
    算法数据结构
  • 后端
    后端
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

357人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

STL用迭代器删除元素

序列式容器vector,deque使用erase删除迭代器后,后面的元素的迭代器会失效。但是erase会返回下一个有效的迭代器。int main() { vector<int> v{ 1,2,3,4 }; vector<int>::iterator it = find(v.begin(), v.end(), 1); auto it1 = v.erase(it); cout << *it1 << endl;}上面代码输出2.关联式容器
原创
发布博客 2022.05.16 ·
586 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

客户端发送消息后muduo是怎么运行的

这篇文章承接于我的上两篇文章:muduo核心组件分析_小猪快快跑的博客-CSDN博客有客户端连接后muduo是怎么运行的_小猪快快跑的博客-CSDN博客如果有不正确的地方,欢迎朋友们指正。用 telnet 命令给服务器发送消息。下面的颜色代表子线程。下面是main.cc:// main.ccclass EchoServer{public: EchoServer(muduo::net::EventLoop* loop, const mud.
原创
发布博客 2022.04.13 ·
311 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

有客户端连接后muduo是怎么运行的

这篇文章承接于我的上一篇文章:muduo核心组件分析_小猪快快跑的博客-CSDN博客如果有不正确的地方,欢迎朋友们指正。用 telnet 命令连接服务器。在没有连接进来的时候,主线程阻塞在下面的函数(epoll_wait可以设置超时时间,这样就不阻塞了):// EPollPoller.ccTimestamp EPollPoller::poll(int timeoutMs, ChannelList* activeChannels){ int numEvents = ::epoll
原创
发布博客 2022.04.13 ·
323 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

muduo核心组件分析

muduo的设计真的很巧妙。不少人说这个网络库的源码剖析起来比较容易,但是我感觉里面调用来调用去还是比较复杂的。根据打印的日志分析了muduo库的流程。如果有不对的地方,欢迎朋友们指正。以 echo 为例,下面把 maic.cc, echo.h, echo.cc 整在一起了,就整在 main.cc 里。子线程设置3个。主要关注各个文件里的函数是怎样跳转的。class EchoServer{public: EchoServer(muduo::net::EventLoop* loop,
原创
发布博客 2022.04.13 ·
1088 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C++智能指针学习

不使用智能指针在不使用智能指针的情况下,如果 new 出来了一个指针,那么必须在程序里手动 delete 一下。但是如果在 delete 之前程序就 return 了,那么就会导致资源泄露。直到程序退出,操作系统才会释放这段内存。但是如果程序一直没有退出,这段内存就会一直没有释放。危害,如下:#include <iostream>using namespace std;int main() { int* ptr = new int(0); if (...) {
原创
发布博客 2022.04.05 ·
996 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

TCP的短链接和长连接

在写网络编程项目的客户端的时候,出现了这样的疑问。在什么时候连接上服务器呢?这时候的连接在我的认知里很自然的就和TCP长连接画等号。先说一下客户端的任务,在和服务器端建立通信之后完成注册、登录、注销业务。登录之后可以进行更细的业务。但是如果客户端和服务器端连上了,之后客户端却迟迟没有动手干正事,正事就是上面说的更细的业务。那这样的话岂不是在浪费服务器端的资源。这时候了解了TCP短连接。在我的认识里,TCP短连接和长连接的区别主要是三次握手和四次挥手之间的那段时间可以互发多少信息。短连接的话在客户
原创
发布博客 2022.03.28 ·
3342 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

详细验证MYSQL里的隔离级别

首先在会话里查看一下默认的隔离级别:
原创
发布博客 2022.03.20 ·
394 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C++实现几种排序算法

快速排序//双指针一左一右开始class Solution {public: void fastsort(vector<int>& nums, int start, int end) { if (start >= end) return; int left = start; int right = end; int index = rand() % (end - start + 1) + start;
原创
发布博客 2022.03.14 ·
1924 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux下将MYSQL结合到C++代码中

安装MYSQL首先,要先安装MYSQL:sudo apt-get install mysql-server mysql-client默认的端口是3306,可以检查一下:netstat -ntulp | grep 3306试一下能不能进入MYSQL:mysql -u root -p123456这时候有一个问题,可能安装了MYSQL,但是登不进去。这是因为安装的时候没有出现让我们自己设置账号密码的环节。解决办法: sudo cat /etc/mysql/debian.c
原创
发布博客 2022.03.13 ·
2869 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

高级调度、中级调度、低级调度的区别

目录高级调度中级调度低级调度总结如果有不正确的话,欢迎指正。下面是个人理解。高级调度将作业调入内存,强调的是第一次。将作业调出内存,强调的是最后一次。等待区——外存座位——内存筷子,一双——CPU,一个等待区的人——作业管理员——操作系统现在在等待区有一个人很饿很饿,想要坐到座位上吃饭。管理员看他快坚持不住了,让他进去,并且询问了他的名字。相当于作业第一次进入内存。记下名字相当于在内存里有了 PCB。这个行为就是高级调度。中级调
原创
发布博客 2022.03.05 ·
4793 阅读 ·
20 点赞 ·
4 评论 ·
44 收藏

《TCP IP网络编程》阅读笔记及部分《图解 TCPIP》《图解 HTTP》补充笔记

目录第一章:理解网络编程和套接字接受连接请求的套接字(接电话)socketbindlistenaccept总结一个服务器端简单代码发送连接请求的套接字(打电话)connect一个客户端简单代码运行上面的服务器和客户端程序基于 Linux 的文件操作文件描述符打开文件(open)关闭文件(close)将数据写入文件(write)读取文件中的数据(read)文件描述符与套接字的区别第二章:套接字类型与协议设置创建套接字s
原创
发布博客 2022.03.05 ·
426 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

对KMP算法的理解

下面是模式串 t,上面是目标串 s。蓝色的模式串代表匹配上了,红色代表没有匹配上。前面都一样,直到 s[5]!=t[5].那么暴力解法是:可以看到又从 s[1] 开始重新匹配了,虽然一开始就匹配不上,又要让 s[2] 和 t[0] 开始匹配。但是通过观察可以这样匹配:不需要让 s[1] 和 t[0] 匹配。直接将模式串 t 的第一个字符搬到 s[3] 处。理由如下:先看这个图,也就是本文第一张图:蓝色是匹配上的部分,那么 s[0:4] 就等于 t[0...
原创
发布博客 2022.02.28 ·
205 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C++TCP通信和广播实验开多个客户端的问题

在学习的过程中遇到了下面的问题,其实很简单,怪自己看的不够仔细。在做广播通信实验的时候,运行服务器端代码和客户端代码,正常通信。如果再打开一个客户端,后打开的客户端无法与服务器连接。出现以下提示:提示端口被占用。而在做 TCP 通信实验的时候,可以开多个客户端进行通信。原因在于广播实验的客户端需要用 bind 函数绑定端口号,有如下代码: struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_
原创
发布博客 2022.02.26 ·
2326 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏