现代C++特性学习
文章平均质量分 83
围绕leetcode328题中遇到的C++特性学习,题单:https://leetcode.cn/problem-list/RPFcUufD/
风栈
青山如故
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从 sort 到 priority_queue:C++ 标准对 Lambda 支持的完整演进
在刷 LeetCode 时,遇到一个问题,我想用 Lambda 表达式自定义排序。用在 std::sort 上,一行代码搞定,丝滑流畅;用在 std::priority_queue 上,直接报错,查了查,学着用 decltype(cmp) 解决问题。为什么会有这种巨大的差异?带着这个疑问,本文将深入底层,彻底揭开sort、Lambda 与decltype之间错综复杂的“猫腻”。特性 / 版本C++98/03C++11C++17自定义排序工具struct仿函数Lambda表达式Lambda。原创 2025-11-24 14:09:47 · 1296 阅读 · 0 评论 -
基于范围的 for 循环 (Range-based for) 原理与实践
只读遍历 (Read-only)首选零拷贝,高性能,且防止误修改。需要修改元素 (Write/Modify)首选理由:通过引用直接操作原数据。基础类型简单遍历对于intcharbool等微小类型,写在性能上无明显差异,但在模板编程或泛型代码中,依然建议保持的习惯。特定限制需要下标 -> 用...)需要删改容器结构 -> 用。原创 2025-11-24 11:14:37 · 898 阅读 · 0 评论 -
C++ 结构体、构造函数与内存管理简析
在。理解这一步至关重要:这只是一个指针!你可以把它想象成一个**“门牌号地址簿”**。dummy就是地址簿里的一个条目,它现在是空的,没有记录任何地址。它本身不是一个“房子”(节点),只是一个准备用来记录房子地址的变量。那么,“房子”是在哪里建的呢?答案就在new关键字就像一个“建筑队”。它会在一块叫做**“堆 (heap)”**的特殊内存区域中,建造一个新的LinkNode房子。: 建筑队建好房子后,会返回这栋房子的地址。我们用赋值操作符,将这个地址郑重地记录在我们的dummy地址簿里。从此刻起,原创 2025-10-15 16:29:34 · 705 阅读 · 0 评论 -
Lambda表达式基础用法解析
对于自定义结构体的排序,Lambda 更是大放异彩。int score;{"张三", 95}, {"李四", 88}, {"王五", 100}// 按分数从高到低排序,逻辑非常清晰});Lambda 是什么?一个没有名字的临时函数。基本语法?[](){}分别代表捕获列表参数列表和函数体。为何使用?它让代码更紧凑、可读性更高,尤其适合与 STL 算法(如sort)配合使用。如何开始?把它当作普通函数的快捷写法来练习,并且暂时只需使用空的捕获列表[]。原创 2025-10-14 10:31:03 · 317 阅读 · 0 评论
分享