- 博客(9)
- 收藏
- 关注
原创 C++智能指针完全指南:从入门到实战,彻底告别内存泄漏
智能指针是封装了指针的类模板,通过**RAII(资源获取即初始化)**机制自动管理内存生命周期。
2025-05-10 23:36:36
829
原创 C++ 移动语义:从理论到实战,彻底掌握高效资源转移
C++11 引入(Move Semantics),允许,避免深拷贝,大幅提升性能。✅ 减少不必要的拷贝(如传递时直接“窃取”数据)✅ 优化临时对象处理(如避免临时对象销毁再重建)✅ 支持现代 C++ 特性(如不可拷贝,但可移动)本文将深入解析,并给出。
2025-05-09 19:10:06
744
原创 C++虚函数全面解析:从原理到高级应用
虚函数是C++实现运行时多态的核心机制,通过virtualpublic:virtual void show() { // 虚函数声明virtual ~Base() {} // 虚析构函数编写更高效的代码避免常见陷阱设计更灵活的架构更好地进行调试和优化多态基类声明虚析构函数使用override明确覆盖关系避免在构造/析构中调用虚函数对性能关键代码考虑替代方案。
2025-05-07 22:41:21
1295
原创 C++内存四区深度解析:从理论到实践
C++程序在运行时,内存被划分为四个主要区域,每个区域有特定的用途和管理方式:只读性:存储机器指令,防止程序意外修改共享性:多个实例可共享同一份代码固定性:大小在编译期确定3. 全局/静态区(Data Segment)3.1 细分区域已初始化数据段:.data未初始化数据段(BSS):.bss3.2 关键特点初始化规则:显式初始化的变量存储在 .data未显式初始化的变量存储在 .bss,运行时初始化为0生命周期:从程序启动到结束线程安全:C++11后,静态局部变量
2025-05-06 18:32:39
1214
原创 10个STL算法解决LeetCode高频题目
学习C++17的并行算法(execution::par)掌握中的数值算法理解每种算法的时间/空间复杂度。
2025-05-05 23:30:29
1005
原创 C++ STL算法完全指南:从基础到高阶应用
/ 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置。// 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置。// 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置。// 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置。// 求两个容器的并集。// 查找指定的元素,查到 返回true 否则false。// 查找相邻重复元素,返回相邻元素的第一个位置的迭代器。// 按条件替换元素,满足条件的替换成指定元素。// 容器元素合并,并存储到另一容器中。
2025-05-04 23:12:45
713
原创 C++ STL容器完全指南:从基础使用到高级技巧 (超详细)
/重新指定容器的长度为num,若容器变长,则以默认值填充新位置。//重新指定容器的长度为num,若容器变长,则以默认值填充新位置。//重新指定容器的长度为num,若容器变长,则以默认值填充新位置。//删除pos位置的数据,返回下一个数据的位置。//删除[beg,end)区间的数据,返回下一个数据的位置。//重新指定容器的长度为num,若容器变长,则以elem值填充新位置。//重新指定容器的长度为num,若容器变长,则以elem值填充新位置。//在pos位置插入一个elem元素的拷贝,返回新数据的位置。
2025-05-04 14:30:26
929
原创 CPU缓存友好编程:为什么你的vector比链表快10倍?
本文通过实测数据揭示vector与链表的性能差异,从CPU缓存机制分析底层原理,并给出编写缓存友好代码的5个实用技巧。测试结果显示,在遍历操作中vector可比链表快达15倍!理解CPU缓存机制是编写高性能C++代码的关键。数据连续性比算法复杂度更重要减少缓存缺失比减少指令数更关键测量永远比猜测可靠。
2025-05-03 13:10:18
496
原创 现代C++实战:用STL替代传统设计模式
STL(Standard Template Library)是C++标准库的核心组成部分,提供了一系列通用的模板类和函数,实现了常用的数据结构和算法。容器(Containers):管理数据的集合迭代器(Iterators):访问容器元素的通用方法算法(Algorithms):操作数据的通用函数函数对象(Functors):使算法更灵活的可调用对象泛型编程组件的高度可复用性效率与抽象的平衡return 0;
2025-05-03 12:20:08
1124
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人