logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

[C++类的默认成员函数——lesson5.构造函数&&析构函数]

本文详细介绍了C++中类的两个重要默认成员函数:构造函数和析构函数。构造函数在对象创建时自动调用,用于初始化成员变量,具有名称与类名相同、无返回值、支持重载等特性。析构函数在对象销毁时自动调用,用于资源清理,名称在类名前加"~"且不可重载。文章通过代码示例展示了构造函数和析构函数的使用场景,特别强调了内置类型与自定义类型的处理差异,并给出了全缺省构造函数的推荐写法。最后指出,对

文章图片
#c++#开发语言
[C++——lesson37.——「C++11『基础新特性』」]

本文介绍了C++11标准的重要更新内容。C++11是自1998年以来最具突破性的版本,带来了140多项新特性和600多个缺陷修复,使C++语言更加现代化。主要内容包括:1.列表初始化{}的全面升级,支持内置类型和自定义类型初始化;2.简化声明的新特性如auto自动类型推导和decltype类型获取;3.范围for循环语法糖;4.智能指针(unique_ptr/shared_ptr)实现自动资源管理

文章图片
#c++#java#jvm
[C++——lesson38.——「C++11『右值引用 ‖ 完美转发 ‖ 新增类功能 ‖ 可变参数模板』」]

C++11右值引用与移动语义解析 C++11引入的右值引用(&&)通过移动语义显著提升了资源管理效率。右值引用允许直接转移临时对象(右值)资源,避免不必要的深拷贝。关键应用包括: 移动构造/赋值:通过swap转移资源,减少拷贝开销。 完美转发:使用std::forward保持参数右值属性,确保链式调用中移动语义生效。 类功能升级:新增default/delete关键字控制默认函数生

文章图片
#c++#开发语言
[C++——lesson39.——「C++11『lambda表达式 ‖ 线程库 ‖ 包装器』」]

本文深入探讨了C++11中的三大核心特性:lambda表达式、线程库和包装器。 lambda表达式部分介绍了其语法结构、使用场景及实现原理,展示了如何替代传统仿函数实现简洁的回调函数,并通过捕捉列表实现变量捕获。文章对比了lambda与传统仿函数的性能差异,揭示了底层都是通过生成空类实现的本质。 线程库章节详细讲解了thread类及其配套工具,包括互斥锁(mutex)、条件变量(condition

文章图片
#c++#算法#开发语言
[C++——lesson29.数据结构进阶——「AVL树」]

本文介绍了AVL树的基本概念和实现原理。AVL树是一种高度平衡的二叉搜索树,通过平衡因子和旋转操作来维持树的平衡,避免退化为单支树。文章详细讲解了AVL树的节点定义、插入操作以及四种旋转方式(左单旋、右单旋、右左双旋、左右双旋),并提供了旋转操作的代码实现和抽象图演示。此外,还介绍了AVL树的合法性检验方法和性能特点,指出其在查询性能上的优势及结构修改时的性能局限。AVL树适合存储静态数据,而红黑

文章图片
#算法
[Linux网络基础——Lesson12.「五种 IO 模型与非阻塞 IO」]

本文深入解析I/O模型,揭示网络问题本质是I/O问题。通过餐厅点餐类比,详细对比五种I/O模型(阻塞/非阻塞/信号驱动/多路复用/异步)的核心差异与应用场景。重点指出高效I/O的关键在于减少等待时间而非单纯优化拷贝速度,并强调非阻塞I/O在高并发场景的优势。文章还澄清了同步/异步与阻塞/非阻塞的概念区别,最后通过fcntl函数实现非阻塞I/O的实践案例,帮助开发者构建完整的I/O知识体系。核心结论

文章图片
#linux#网络#php
[C++——lesson41.「智能指针」]

本文系统介绍了C++智能指针的核心概念与应用。首先阐述了手动内存管理的缺陷及智能指针的必要性,重点剖析了内存泄漏的危害。随后详细讲解了智能指针的RAII实现原理,对比分析了auto_ptr、unique_ptr和shared_ptr的特性与适用场景,特别针对shared_ptr的引用计数机制和循环引用问题给出了解决方案。文章还涵盖了定制删除器的使用方法和常见面试题解析。最后总结指出:智能指针是C+

文章图片
#算法#c++#数据结构
[Linux网络基础——Lesson7.「传输层协议 UDP 与 TCP」(三次握手四次挥手)]

本文系统梳理了传输层协议的核心机制,重点对比了UDP与TCP的设计特性。UDP采用无连接、不可靠的极简设计,通过数据报形式实现低延迟传输,适用于DNS、实时音视频等场景;TCP则通过连接管理、确认应答、滑动窗口、流量控制和拥塞控制五大机制构建可靠传输体系,面向字节流特性需要应用层处理粘包问题。文章深入解析了TCP状态转换(TIME_WAIT/CLOSE_WAIT)、可靠传输实现原理,并探讨了UDP

文章图片
#网络#linux#udp
[Linux——Lesson24.线程:线程同步与互斥]

本文系统介绍了Linux多线程编程中的线程互斥与同步机制。主要内容包括: 线程互斥:通过互斥锁(Mutex)保护临界资源,解决数据竞争问题,详细讲解锁的初始化、加解锁操作及底层实现原理。 线程同步:使用条件变量协调线程执行顺序,避免饥饿现象,重点分析等待/唤醒机制及生产者-消费者模型应用。 实践方案:提供线程锁的C++封装实现(RAII风格)及完整示例代码,展示如何正确使用这些机制解决实际问题。

文章图片
#java#jvm#开发语言
[Linux——Lesson21.进程信号:信号概念 & 信号的产生]

本文重点介绍了Linux系统中的信号机制,详细阐述了信号的概念、产生方式及处理流程。信号作为进程间通信的软中断方式,可分为标准信号(1-31)和实时信号(34-64)。文章通过实际案例展示了信号的5种产生方式:键盘输入(如Ctrl+C)、系统调用(kill/raise/abort)、软件条件(如alarm)、硬件异常(除零/段错误)等。特别分析了信号捕捉机制,包括默认处理、忽略和自定义回调函数三种

文章图片
#linux#运维#服务器
到底了