html
-
C++ STL无序容器自定义哈希函数和比较规则(超级详细)
前面在讲解 unordered_map、unordered_multimap、unordered_set 以及 unordered_multiset 这 4 种无序关联式容器(哈希…
-
C++ STL无序容器底层实现原理(深度剖析)
在阅读本节内容之前,读者需了解哈希表存储结构的原理,可猛击《哈希表(散列表)详解》一节。 在了解哈希表存储结构的基础上,本节将具体分析 C++ STL 无序容器(哈希容器)底层的实…
-
C++ STL关联式容器自定义排序规则(2种方法)
前面在讲解如何创建 map、multimap、set 以及 multiset 容器时,遗留了一个问题,即如何自定义关联式容器中的排序规则? 实际上,为关联式容器自定义排序规则的方法…
-
为什么C++ map容器emplace()、emplace_hint()的执行效率比insert()高?
上一节在学习 C++STL map 容器的 emplace() 和 emplace_hint() 的基本用法时,还遗留了一个问题,即为什么 emplace() 和 emplace_…
-
C++ STL deque容器底层实现原理(深度剖析)
事实上,STL 中每个容器的特性,和它底层的实现机制密切相关,deque 自然也不例外。《C++ STL deque容器》一节中提到,deque 容器擅长在序列的头部和尾部添加或删…
-
C++ vector swap()去除多余容量(详解版)
《如何避免vector容器进行不必要的扩容》一节中,遗留了一个问题,即如何借助 swap() 成员方法去除 vector 容器中多余的容量?本节将就此问题给读者做详细的讲解。 我们…
-
C++ STL vector容量(capacity)和大小(size)的区别
很多初学者分不清楚 vector 容器的容量(capacity)和大小(size)之间的区别,甚至有人认为它们表达的是一个意思。本节将对 vector 容量和大小各自的含义做一个详…
-
C++ STL array容器和普通数组的比较
和 C++ 普通数组存储数据的方式一样,C++ 标准库保证使用 array 容器存储的所有元素一定会位于连续且相邻的内存中,通过如下代码也可以验证这一点: #include <…
-
C++为什么要引入STL?
C++ 标准程序库发展至今,几乎所有内容都被设计为了模板的形式,STL 已经成为 C++ 程序库的重要组成部分。可以这么说,如果 C++ 不支持 STL 标准模板库,就无法使用程序…
-
C++如何进行多文件编程?(汇总版)
在 C++ 多文件编程中,一个完整的 C++ 项目可以包含 2 类文件,即 .h 文件和 .cpp 文件。通常情况下,.h 文件称为 C++ 头文件,.cpp 文件称为 C++ 源…