V
主页
京东 11.11 红包
【C++ STL】全网最完整的map教程
发布人
小彭老师STL系列专题课终于更新!本期我们深度介绍了最常用的map容器。先是认识到其逻辑结构为键值映射,物理结构为红黑树。我们理解了为什么map要保持数据有序,简单介绍了为什么红黑树能保证深度差距不超过2倍,还指出了常见错误:用[]是不安全的,我们都应该改用at读取元素,insert_or_assign写入元素。并介绍了反向查找表、计数器、分类、动态去重等map常见的应用场景。还介绍了用count()判断键是否存在,find返回迭代器减少搜索次数,insert为什么返回了一个pair等,并封装了一个返回optional的get函数。对于一边删除一边遍历的常见误区,小彭老师作出纠正,并用形象比喻帮助你理解。还介绍了,理解了为什么当输入数据已经有序时批量insert复杂度可以从O(N log N)降至O(N)。介绍了C++14的透明异构查询如何更高效,指出比起emplace,C++17的try_emplace更好用。还介绍了C++17新增的节点句柄系列API:extract、insert、merge等,避免了内存重分配。最终,我们还利用multimap只排序不去重的特点,实现数据动态排序,基于lower_bound和upper_bound的特点,实现了针对成绩的排序和范围查询,企图cosplay数据库。 下一期你想看什么?是继续更新unordered_map、还是介绍STL算法模板、allocator,还是更新CUDA的C++现代化课程呢?在评论区告诉小彭老师吧! 课件文字版下载:https://github.com/parallel101/cppguidebook/blob/main/docs/stl_map.md 课件(小彭大典)在线浏览:https://142857.red/book/stl_map/ 课程所用案例代码下载:https://github.com/parallel101/course/tree/master/slides/stl_map/experiment
打开封面
下载高清视频
观看高清视频
视频下载器
现代C++教程 2023
C++全体STL容器语法毕业课、温习课(map、set、堆、栈、队列、vector、pair、哈希表、lower_bound、unique)
清华大佬超全超详细讲解——C++STL看这份视频就够了
【C++】算法竞赛常用 STL 用法
C++进阶之STL
C++核心基础教程之STL容器详解
【C++ STL】手搓红黑树有多困难?自制标准库系列之map与set(最难的一集)
【C++11】多线程安全如此简单
【C++公开课】全面理解STL标准库 vector容器 精讲(第1集 持续更新中)
【公开课】C++11开始的多线程编程(#5)
黑马程序员2017C++STL教程(已完结)
【公开课】现代C++进阶:模板元编程与函数式
【C++】malloc/new追踪,可视化内存碎片,监测内存泄漏
【现代C++】静态反射实现自动JSON序列化
【并行计算】CUDA在现代C++中如何运用?看这一个就够了!
【C++面试题】map和unordered_map相关面试题
【C++】游戏开发常用的设计模式,高手都这样写?单例模式、组件模式、原型模式、访问者模式等
现代C++(C++ 11 核心特性详解)
【公开课】第02讲:RAII与智能指针
【C++标准库】自己动手实现vector容器
【C++标准库】std::string用法指南&源码剖析
【性能优化】往数组里写入0为何比写入1更快?详解缓存的工作机制
【C++项目实战】实现一个JSON解析器
为何有些公司不允许使用 C++ STL?
金牌学长带你学算法:STL中的map原来这么简单!零基础小白也能看懂的保姆级教程
【现代C++】函数式编程优雅实现信号槽
【C++11】内存序究竟是什么,彻底参悟C++内存模型(附多线程安全测试通用框架)
【公开课】从零开始打造3D游戏引擎(第四集:GLSL 着色器语言入门与顶点属性管理)
【C++标准库】你有所不知的set容器【公开课】
【公开课】现代OpenGL保姆级课程,从零开始打造3D游戏引擎(第三集:OBJ格式三维模型的加载与相机视角控制)
【C++17】小彭老师陪你从零手搓HTTP服务器
【公开课】现代CMake高级教程(持续更新中)
【公开课】编译器优化与SIMD指令集(#4)
【C++】局部变量初始化,推荐用哪种写法?最不容易错?
C++: Vector和内存分配器? 接口/实现/使用 | d2ds::Vector技术解读第一期
【C++标准库】自己动手实现std::optional容器
c++11并发与多线程视频课程
【错误码】现代C++中的错误处理方案有哪些?
【C语言避坑指南】看完这个视频,我再也不害怕指针!
WSL没有图形界面?快速搭建Python和C++开发环境