C++
文章平均质量分 75
Miracle&
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STL重点
本文摘要: STL核心组件详解:容器、迭代器与算法 容器 vector:动态数组,O(1)随机访问,尾部插入/删除O(1)* list:双向链表,任意位置插入/删除O(1),不支持随机访问 map/set:红黑树实现,查找/插入/删除O(logn),元素有序 选择策略:根据访问模式(随机/顺序)和修改频率(插入/删除) 迭代器 5种类型:输入/输出/前向/双向/随机访问迭代器 失效问题:容器修改可能导致迭代器失效 安全准则:避免保存迭代器,使用erase返回值更新 算法 非修改型:find/count/se原创 2025-09-04 23:46:15 · 770 阅读 · 0 评论 -
C++容器:std::unordered_map, std::array, std::tuple
int age;// 相等比较运算符// 自定义哈希函数C++11引入的这些容器大大增强了标准库的能力:✅:高性能哈希表,快速查找✅std::array:类型安全的固定大小数组✅std::tuple:灵活的异构数据容器✅现代C++特性:支持auto、结构化绑定、CTAD等✅性能优势:编译期优化,运行时高效。原创 2025-09-03 14:00:57 · 296 阅读 · 0 评论 -
C++后端开发重点知识点
将“理论理解 -> 实践验证 -> 项目集成”形成一个闭环,每学完一个知识点进行实践,保证深入理解为未来开发生涯打下坚实的基础。这个阶段的目标是:不仅要知道是什么,还要知道为什么,并且能写代码证明它。这是你简历上的亮点,能串联起上面绝大部分知识点。核心技术:IO多路复用(epoll)。这是“高性能”的基石。核心架构:Reactor模式(单Reactor多线程/多进程,或多Reactor)。这是现代高性能网络服务器的标准设计。编程语言:C++17/20目标:能处理高并发连接(数千以上),性能指标可通过压测工具原创 2025-09-02 16:37:02 · 760 阅读 · 0 评论 -
C++多线程编程:std::thread, std::async, std::future
答是一个异步操作结果的占位符,提供获取结果、等待完成、查询状态的方法。答:多个线程互相等待对方释放锁。避免方法:按固定顺序获取锁、使用同时获取多个锁、使用超时锁、避免嵌套锁。C++11多线程编程提供了现代、安全的并发工具:✅:直接线程管理✅:异步任务和结果处理✅:更灵活的异步编程✅RAII支持:自动资源管理✅类型安全:编译期检查。原创 2025-09-02 21:23:35 · 624 阅读 · 0 评论 -
Visual Studio 的魔法:为何不编译也能知道 auto 的类型?
这个数据库实时更新,包含了你的代码中所有变量、函数、类的类型和信息。这项技术极大地提升了我们的开发效率,让我们能够“所思即所得”,更加专注于逻辑和创意本身。它接收前端分析好的 AST 和符号表,进行优化,最终输出机器码(.obj, .exe 文件)。这看似魔法的背后,其实是一项强大的现代 IDE 技术。这个过程速度极快,几乎是瞬间完成的,从而创造了那种“未编译先知”的神奇体验。:它对你当前编辑的文件以及其包含的所有头文件,进行一遍又一遍的。的类型提示时,你会知道,这并非魔法,而是其背后强大的。原创 2025-08-28 15:54:47 · 966 阅读 · 0 评论 -
C++手写智能指针
特性SharedPtr(手写)引用计数基础实现原子操作,线程安全自定义删除器不支持支持弱指针支持不支持支持数组支持不支持支持异常安全基础强异常安全保证。原创 2025-08-23 20:23:48 · 1413 阅读 · 0 评论 -
C++ 左值,右值和std::move
std::move:只是一个类型转换工具,将左值转为右值引用移动构造函数:实际执行资源转移的代码两者关系std::move为移动构造函数"创造机会",让编译器知道可以调用移动语义。原创 2025-08-22 10:40:27 · 355 阅读 · 0 评论 -
C++ this 指针
特性/场景描述本质编译器自动传递给非静态成员函数的隐藏参数,指向调用该函数的对象。类型(在 const 函数中是解决命名冲突使用区分同名的参数和成员变量。链式调用返回*this(返回对象引用)以实现的流畅接口。传递自身使用*this将当前对象作为参数传递给其他函数。静态函数没有this指针,因此不能访问非静态成员。Lambda 捕获可以捕获this来在 Lambda 内部访问成员,但需注意生命周期。智能指针直接使用this创建智能指针是危险的,应使用。原创 2025-08-21 22:04:03 · 1163 阅读 · 0 评论 -
C++浅拷贝和深拷贝区别
浅拷贝只是简单地复制对象的成员变量的值,包括指针成员的值(即内存地址),而不复制指针所指向的实际数据public:int* data;int size;// 默认拷贝构造函数(浅拷贝): data(other.data), size(other.size) {} // 只是复制指针值深拷贝不仅复制对象的成员变量,还会为指针成员分配新的内存,并复制指针所指向的实际数据。int size;// 自定义拷贝构造函数(深拷贝)// 分配新内存。原创 2025-08-21 21:25:45 · 226 阅读 · 0 评论 -
C++创建一个空类的时候,编译器会自动生成哪些函数了
执行默认的成员初始化(对内置类型不初始化,类类型调用其默认构造函数)用于通过同类型的另一个对象来初始化新对象。用于将一个对象的值赋给另一个已存在的对象。用于通过右值引用来赋值给已存在的对象。当没有其他构造函数被显式声明时生成。可以"窃取"源对象的资源,提高效率。用于通过右值引用来初始化新对象。返回对象的引用以支持链式赋值。在对象生命周期结束时自动调用。同样可以"窃取"源对象的资源。执行成员逐个拷贝(浅拷贝)原创 2025-08-21 21:02:09 · 345 阅读 · 0 评论
分享