logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++ 第四阶段 内存管理 - 第一节:内存池与自定义分配器

本文介绍了C++中内存管理的优化技术,重点讲解了自定义分配器和内存池的实现与应用。主要内容包括:1)自定义分配器的核心接口与简单实现示例;2)内存池的工作原理与固定大小内存池的实现;3)如何将内存池与STL容器结合使用;4)在游戏开发、高性能计算和嵌入式系统等典型场景中的应用。文章还提供了完整的代码示例,并强调了线程安全、内存碎片、性能测试等注意事项。这些技术可以有效优化内存分配效率,降低系统调用

文章图片
#c++#java#开发语言
C++ 第一阶段 数组与字符串 - 第二节:C风格字符串(char*)与 std::string

C风格字符串(char*)以空字符结尾,需手动管理内存,操作依赖C库函数,安全性较低但性能好;std::string是C++标准类,自动管理内存,提供丰富成员函数,内置越界检查,安全性高但可能有动态扩容开销。主要区别体现在内存管理、安全性、功能性和适用场景:C风格更适合嵌入式系统和高性能需求,而std::string是现代C++项目的首选,特别适合需要频繁字符串操作的场景。二者可互转,但需注意常见

文章图片
#c++#c语言#开发语言
从零开始学Linux:系统架构全解析

Linux是一个开源的类Unix操作系统内核,由Linus Torvalds于1991年开发。其核心特点包括开源免费、多用户多任务、可移植性强以及高稳定性安全性。Linux系统由内核、Shell解释器、标准文件系统及用户权限管理等组成。启动流程包括BIOS/UEFI自检、Bootloader引导、内核加载、系统初始化等环节。用户可通过终端使用基本命令操作,并编写Shell脚本实现自动化任务。典型应

文章图片
#linux
C++ 第三阶段 并发与异步 - 第一节:std::thread, std::mutex, std::lock_guard

本文系统介绍了C++11多线程编程的核心组件。主要内容包括:1) 多线程基础概念及其优势;2) std::thread的线程创建与管理;3) std::mutex互斥锁的基本用法和潜在问题;4) std::lock_guard的RAII锁管理机制及其异常安全特性。文章还涵盖了常见问题(死锁、资源竞争)的解决方案,并提出最佳实践建议(优先使用RAII锁、优化锁粒度)。通过多个代码示例展示了线程安全编

文章图片
#c++#算法#开发语言
C++ 第三阶段 智能指针 - 第二节:资源获取即初始化(RAII)模式

本文系统阐述了C++中的RAII(资源获取即初始化)机制及其应用。RAII将资源生命周期与对象绑定,通过构造函数获取资源、析构函数释放资源,确保异常安全并简化资源管理。重点介绍了智能指针(unique_ptr/shared_ptr)的RAII实现,以及文件、锁等资源的RAII封装。文章还提出了RAII设计三原则:获取即初始化、析构必须释放、限制复制行为,并分析了常见误区(如手动delete、循环引

文章图片
#c++#算法#开发语言
C语言三大函数对比:strcpy VS sprintf VS memcpy

本文详细比较了C语言中strcpy、sprintf和memcpy三个常用函数的功能与特性。strcpy用于字符串复制但存在缓冲区溢出风险;sprintf可格式化输出到字符串,同样存在安全隐患;memcpy则适用于任意内存块的快速拷贝。三者均不检查目标缓冲区大小,建议使用更安全的替代版本(如strncpy、snprintf)。文章通过对比表阐明差异,强调安全使用的重要性,并给出代码示例和最佳实践建议

文章图片
#算法#开发语言#c语言 +2
到底了