C++
文章平均质量分 85
C++学习 问题解决
return0的达瓦里氏
这个作者很懒,什么都没留下…
展开
-
线程池以及日志类的实现
可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。va_start宏用于初始化一个va_list对象,使其指向可变参数列表的第一个参数。它需要两个参数:一个是va_list对象,另一个是紧接在可变参数列表之前的最后一个已知参数的名字。va_end宏用于清理由va_start初始化的va_list对象。在处理完可变参数后,必须调用va_end。是一种线程使用模式。va_list是一种类型,用于存储可变参数的状态。在代码中 我对可变参数进行了处理,以下是对可变参数的补充。原创 2024-05-25 15:32:36 · 604 阅读 · 0 评论 -
POSIX信号量以及读写者模型/环形队列
互斥。原创 2024-06-18 16:24:36 · 1028 阅读 · 1 评论 -
网络学了点socket,写个聊天室,还得改进
我一开始是想着这个流程,因为一开始服务端只是接受客户端,服务端不会发消息给客户端,所以我想在原基础上,让两端都可以接受和发送,当时就有想可以多线程实行接受和发的任务,但是觉得上线程太麻烦就决定是服务端发->客户端收->客户端发->服务器收,这一条链路实行,但是问题是,我把收发是写在循环里,而 recvfrom是非阻塞等待的,所以双方实际上永远等不到对方信息所以实际上仍然是要让多线程实行接受和发的任务。原创 2024-06-09 15:13:40 · 588 阅读 · 1 评论 -
C++智能指针-RAII详解
内存泄漏指因为疏忽或错误造成程序。原创 2024-04-18 19:41:43 · 1029 阅读 · 1 评论 -
C++11---右值引用(深度讲解)
左值是一个数据的表达式(例如变量或者解引用后的指针),我们可以对其进行取地址和修改赋值,左值可以出现在赋值符号的左边,而右值不能出现在赋值符号的左边,而左值引用就是对左值起别名,如图1. 左值引用只能引用左值,不能引用右值。2. 但是const左值引用既可引用左值,也可引用右值1. 右值引用只能右值,不能引用左值。2. 但是右值引用可以move以后的左值。原创 2024-03-31 15:30:30 · 1111 阅读 · 1 评论 -
C++迭代器与迭代器失效问题以及如何避免
迭代器失效其实就是底层迭代器指针指向的空间销毁了,变成了野指针,也就是使用了一块已经释放的空间,常见的一些容器的容量操作有可能就会导致迭代器失效问题。原创 2024-01-18 20:23:26 · 538 阅读 · 4 评论