摘要: 1. 左值和右值 一些场景下,把表达式等号左边的称为左值,右边的称为右值。但并不绝对: int a = 1; int b = a; 第一行,a是左值,而1是右值;第二行,b是左值,a也是左值 在C++中左值一般指一个指向特定内存的具有名称的值(具名对象),它有一个相对稳定的内存地址,并且有一段较长的 阅读全文
posted @ 2023-03-09 15:38 预期 阅读(128) 评论(0) 推荐(0)
摘要: forwrad和move std::move一定会将实参转换为一个右值引用,并且使用std::move不需要指定模板实参,模板实参是由函数调用推导出来的。而std::forward会根据左值和右值的实际情况进行转发,在使用的时候需要指定模板实参。 std::move无条件转换到右值。就其本身而言,它 阅读全文
posted @ 2023-03-09 15:38 预期 阅读(53) 评论(0) 推荐(0)
摘要: 线程 1. 线程概述 进程是CPU分配资源的最小单位,线程是操作系统调度执行的最小单位。 线程是轻量级的进程,在Linux环境下线程的本质仍是进程。 线程和进程的区别: 进程间的信息难以共享。由于除去只读代码段外,父子进程并未共享内存,因此必须采用一些进程间通信方式,在进程间进行信息交换。 调用 f 阅读全文
posted @ 2023-03-01 19:05 预期 阅读(99) 评论(0) 推荐(0)
摘要: 1. 信号的概念 信号是 Linux 进程间通信的最古老的方式之一,是事件发生时对进程的通知机制,有时也 称之为软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号 可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。 发往进程的诸多信号,通常都是 阅读全文
posted @ 2023-03-01 18:29 预期 阅读(69) 评论(0) 推荐(0)
摘要: 1. 空指针常量 一个表示0值的整数常量,叫做空指针常量。例如:0,(void*)0,void* NULL 空指针常量可以赋值给任何指针类型,因为它是变体类型(void*) 更倾向于用NULL表示空指针常量 int *p = 0; int *p = NULL; 2. NULL指针 NULL是一个标准 阅读全文
posted @ 2023-02-26 10:21 预期 阅读(118) 评论(0) 推荐(0)
摘要: 0. 问题 char* text = "abcdef ghi"; *(text+3) = 'x'; // 可以编译,但运行到这句就会出错 char a[100] = "abcdef ghi"; char* text = a; *(text+3) = 'x'; // 可以 原因:涉及到内存分配。一个程 阅读全文
posted @ 2023-02-24 21:33 预期 阅读(104) 评论(0) 推荐(0)
摘要: 1. 水平触发 LT 水平触发模式下,如果在客户端连接connfd加入epoll时,就注册了EPOLLOUT。 ​ 在建立连接后,由于最开始时,内核缓冲区为空,则会不断的触发EPOLLOUT ​ 而当客户端发送消息给服务端后,服务端又将消息发送回来,若写缓冲区满了,就不会再触发EPOLLOUT,否则 阅读全文
posted @ 2023-02-23 20:39 预期 阅读(790) 评论(0) 推荐(0)
摘要: 触发模式和EPOLLONESHOT 1. 基本概念 水平触发: LT 缺省的工作模式,当被监控的文件描述符上有可读写的事件发生时,epoll_wait() 就会给用户通知,如果用户没有一次的将数据读完(可能是读写缓冲区太小),那么每次调用epoll_wait(),都会给用户通知。 读缓冲区有数据 - 阅读全文
posted @ 2023-02-23 09:48 预期 阅读(325) 评论(0) 推荐(0)
摘要: 线程池的回调工作函数为什么必须设置成static,类内静态成员函数? pthread_create(pthread_t *thread_tid, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); 创建线程 阅读全文
posted @ 2023-02-17 21:15 预期 阅读(150) 评论(0) 推荐(0)
摘要: printf的缓冲机制 参考链接:https://www.cnblogs.com/sinferwu/p/12426410.html printf是C库函数,是对系统调用write的封装,有其特有的缓冲机制。 printf函数实际上只是输出到了标准输出缓冲队列上,并没有实实在在的打印到屏幕上,标准输出 阅读全文
posted @ 2023-02-11 16:41 预期 阅读(159) 评论(0) 推荐(0)