摘要: 野指针和悬空指针 野指针:定义的时候没有初始化 悬空指针:就是free或delete后没有及时置空 一个指针free或者delete掉后要不要置空 肯定要啊,不置空就是悬空指针了 阅读全文
posted @ 2022-10-09 14:57 atomxing 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-10-07 20:42 atomxing 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 四种强制转换 const_cast 去除指针或引用的const属性 什么场景会用 1《effective c++》第三条 当要写一个operator[]操作符重载,他会不断循环调用自己,所以先static_cast<const xxx*>(*this),来强制调用const operator[]函数 阅读全文
posted @ 2022-09-25 15:30 atomxing 阅读(38) 评论(1) 推荐(0) 编辑
摘要: git rebase rxx 1.多个commit合并 2.变基 把提交的基 改变 端口怎么看,tcp udp怎么看,不能用怎么查(占用,防火墙) lsof -i:端口号 可以看端口(list open files) netstat -tunlp 可以看端口、tcp、udp https://blog 阅读全文
posted @ 2022-09-22 22:09 atomxing 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 异步同步阻塞非阻塞 一个典型的网络IO接口调用,分为两个阶段,分别是"数据就绪" 和 "数据读写",数据就绪阶段分为阻塞和非阻塞,表现得结果就是,阻塞当前线程或是直接返回。同步(就是要自己定时去看有没有好)表示A向B请求调用一个网络IO接口时(或者调用某个业务逻辑API接口时),数据的读写都是由请求 阅读全文
posted @ 2022-09-18 11:09 atomxing 阅读(17) 评论(1) 推荐(0) 编辑
摘要: 阻塞/非阻塞、同步/异步(网络IO) 典型的一次IO的两个阶段是什么?数据就绪 和 数据读写 数据就绪:根据系统IO操作的就绪状态 阻塞非阻塞 数据读写:根据应用程序和内核的交互方式 同步异步 陈硕:在处理 IO 的时候,阻塞和非阻塞都是同步 IO,只有使用了特殊的 API 才是异步 IO。 一个典 阅读全文
posted @ 2022-09-16 19:22 atomxing 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 字节序、ip地址和整数转换、tcp/ip通信 0706笔记就记了,但是具体是哪个函数遗忘了,赶紧来复习下 重点:0916面试问道了,ip地址和整数怎么转换 /* #include <arpa/inet.h> // p:点分十进制的IP字符串,n:表示network,网络字节序的整数 int inet 阅读全文
posted @ 2022-09-16 19:12 atomxing 阅读(30) 评论(1) 推荐(0) 编辑
摘要: 线程 线程概念 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机 制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共 享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传 统意义上的 UNIX 进程只是多线 阅读全文
posted @ 2022-09-16 19:09 atomxing 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 多线程调试 在VC上面对多程序的调试比较简单。如果想要对程序进行调试的话,首先F10,开始运行程序。其次,我们需要等线程创建之后才能设置断点,不然我们看到的程序只有main函数一个thread。 a)单击【Debug】,选择【threads】,那么我们就可以开始多线程调试了; b)如果需要对某一个t 阅读全文
posted @ 2022-09-15 18:35 atomxing 阅读(49) 评论(0) 推荐(0) 编辑
摘要: C++空指针可以调用类成员函数,但是【不能调用】类中的【虚函数】 一个对象的指针可以调用它的成员函数和虚函数, 那么如果一个指向空nullptr的指针,能不能调用它的成员函数和虚函数。 ``` #include<iostream> using namespace std; class A { pub 阅读全文
posted @ 2022-09-13 22:19 atomxing 阅读(354) 评论(0) 推荐(0) 编辑