
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本篇以“刷题 + 手撕”为主线,系统讲清 stack、queue、priority_queue 三件套。前半部分重点放在实际应用:如何用两个栈实现最小栈,如何判断栈弹出序列是否合法,逆波兰表达式怎么用栈求值,队列接口如何配合 while 循环安全使用,优先级队列怎样快速求数组第 K 大。后半部分再拉开底层视角:用 vector 封装一个简单 stack,用 list 封装一个简单 queue,解释

本文系统整理了C++11核心特性,涵盖列表初始化、右值引用与移动语义、可变参数模板、lambda表达式及STL优化等内容。文章结合代码示例,从“是什么、怎么用、底层原理”三层展开,帮助有C/C++基础的开发者进阶现代C++,同时覆盖工程实践与高频面试要点。

本文系统讲解了 C++ 智能指针的产生背景、RAII 设计思想及标准库智能指针的使用方法,重点分析了 unique_ptr、shared_ptr、weak_ptr 的特点与适用场景,并深入剖析引用计数、删除器、循环引用、线程安全等底层实现原理。同时介绍了内存泄漏的产生原因、检测方法和预防方案,帮助建立完整的资源管理体系,为后续学习现代 C++ 和大型后端项目开发打下基础。

本文系统讲解 Linux 进程控制的核心知识,从 fork 创建进程开始,逐步分析父子进程关系、写时拷贝机制、进程退出方式、退出码含义、wait 与 waitpid 的等待与回收过程,再到 exec 函数族的程序替换原理。最后结合一个简化版 shell,串起 fork、exec、wait、环境变量和内建命令等关键机制,帮助建立 Linux 进程控制的完整知识框架。

本文从冯诺依曼体系结构出发,系统介绍操作系统的基本概念与管理思想,重点讲解 Linux 中进程的定义、PCB、进程状态、进程创建以及僵尸进程和孤儿进程等核心内容。同时深入分析进程优先级、进程调度机制、O(1) 调度算法、环境变量以及进程地址空间等重要知识点,并结合代码示例理解虚拟地址空间和内存管理原理,为后续学习 Linux 系统编程、网络编程和高性能服务器开发奠定基础。

本文系统讲解了 C++ 智能指针的产生背景、RAII 设计思想及标准库智能指针的使用方法,重点分析了 unique_ptr、shared_ptr、weak_ptr 的特点与适用场景,并深入剖析引用计数、删除器、循环引用、线程安全等底层实现原理。同时介绍了内存泄漏的产生原因、检测方法和预防方案,帮助建立完整的资源管理体系,为后续学习现代 C++ 和大型后端项目开发打下基础。

这篇文章带你把 vector 从“会用”到“玩透”。前半部分系统梳理 vector 的常见构造方式、迭代器用法、size 与 capacity 的区别、扩容策略、增删查改接口以及迭代器失效等高频细节,再通过异或找单数、杨辉三角等 OJ 题把这些接口串起来使用。后半部分则手把手实现一个简易版 vector,围绕三根指针展开,讲清楚 reserve/resize 的本质、memcpy 深浅拷贝坑点,以

文章围绕 C 语言预处理的核心能力展开:先讲解预定义符号与 #define 常量/宏的正确写法,再通过“形参加括号、整体再括、避免副作用多评估”等规则解决优先级与多次求值问题;随后介绍 # 字符串化、## 记号拼接的常用模板技法;在工程实践部分,系统演示条件编译的调试/发布开关、平台差异分支,以及头文件包含策略与 Include Guard / #pragma once 的对比;最后给出命令行 -

本文深入讲解了 C 语言中字符串与字符处理相关的标准库函数,包括字符分类与转换函数(isalpha、isdigit、toupper 等)、字符串长度与内存大小的区别(strlen vs sizeof)、字符串拷贝与拼接(strcpy、strcat)、比较、查找、分割(strtok)、以及内存操作函数(memcpy、memmove、memset 等)。文章以示例和内存图形化方式呈现,结合安全编程建议

假设我们排查(8,6)这个坐标时,我们访问周围的一圈8个黄色位置,统计周围雷的个数时,最下面的三个坐标就会越界,为了防止越界,我们在设计的时候,给数组扩大一圈,雷还是布置在中间的9*9的坐标上,周围一圈不去布置雷就行,这样就解决了越界的问题。再继续分析,我们在棋盘上布置了雷,棋盘上雷的信息(1)和非雷的信息(0),假设我们排查了某一个位置后,这个坐标处不是雷,这个坐标的周围有1个雷,那我们需要将排







