- 博客(7)
- 收藏
- 关注
原创 学习笔记-Linux网络编程(1)
domain :指定套接字的地址族,常见的有 AF_INET (IPv4)和 AF_INET6 (IPv6)。type :指定套接字的类型,常见的有 SOCK_STREAM (面向连接的流套接字)和 SOCK_DGRAM (无连接的数据报套接字)。protocol :指定套接字使用的协议,通常为0,表示使用默认协议。我们要建立TCP的socket连接就是AF_INET:指定IPv4协议SOCK_STREAM:选择提供面向连接的、可靠的数据传输服务。使用TCP协议。
2025-12-30 22:47:53
573
原创 学习笔记-http协议
http(超文本运输协议)是一种应用层协议,他定义了web客户机是如何向web服务器请求web页面,以及服务器如何将web页面传送给客户机的。他是基于 TCP(HTTP/3 基于 UDP)的结构化请求 - 响应协议,用于在客户端与服务器之间传输任意类型的资源(HTML、图片、JSON、视频等)。
2025-12-26 18:43:24
467
原创 学习笔记-左值,右值与完美转发:从语法到实战的深度解析
能取地址、有名字、可被修改(除非被const修饰)的表达式。比如变量、数组元素。int a = 10;// a是左值(有名字、可取地址&a)// arr[0]是左值// s是左值(可修改)不能取地址、无名字、临时存在的表达式。比如字面量(10、"abc")、临时对象(函数返回的非引用对象)、表达式结果(a+b)。10;// 右值(无名字,无法取&10)a + b;// 右值(临时结果,无持久地址)// 右值(临时对象,用完即销毁)func();
2025-12-17 14:18:50
923
原创 学习笔记-C++初步设计线程安全容器到std标准模板库的兼容
public:// 必须提供这 5 个类型别名,否则 std::iterator_traits 编译失败// ... 迭代器操作实现迭代器设计优先:迭代器是容器与标准库算法的桥梁,必须严格遵循 C++ 迭代器概念,提供完整的类型别名和操作。线程安全的粒度:读写操作分离(读锁 / 写锁),避免不必要的锁竞争,提高并发性能。模板通用性:支持任意容器类型和互斥锁类型,通过if constexpr或模板特化优化特定场景。标准库兼容。
2025-12-12 18:05:30
910
原创 学习笔记-经典进程同步问题1
多线程 / 进程环境中,“生产者”(生成数据)与 “消费者”(处理数据)通过共享缓冲区协作,需解决同步与互斥问题。问题背景:由 Dijkstra 提出的经典死锁模型,模拟 5 位哲学家围坐餐桌就餐的资源竞争场景核心要素:角色:5 个哲学家(代表进程 / 线程)、5 根筷子(代表临界资源,不可分割)行为规则:哲学家交替思考和就餐,就餐需同时持有左右两根筷子,思考时释放筷子核心矛盾:资源竞争导致的死锁风险(所有哲学家同时拿起左手筷子,等待右手筷子)
2025-12-07 16:32:46
711
原创 学习笔记-C++虚函数
在成员函数声明时添加virtual关键字(定义时可省略),且virtual仅能用于类的非静态成员函数(静态函数无 this 指针,无法关联 vptr)。子类函数需与基类虚函数的函数签名完全一致(返回值、参数列表、const 属性),可省略virtual关键字(但建议保留或用override显式标记,增强可读性与编译器校验)。若基类仅需定义接口无需实现,可声明为纯虚函数(virtual 返回值 函数名(参数) = 0),含纯虚函数的类为抽象类,无法实例化,仅能作为基类被继承(强制子类实现接口)。
2025-12-07 12:37:00
1003
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅