随笔分类 - 3、std::容器
摘要:std::tuple 是 C++ 标准库中的一个模板类,它提供了一种将多个不同类型的数据组合成一个单一对象的方法。你可以把它想象成一个固定大小的异构容器,类似于一个“匿名的结构体”。 std::tuple 比较操作: 类型必须匹配(不同类型,不能直接比较) 元素类型必须支持比较,tuple 中的每个
阅读全文
摘要:std::multiset 是 C++ 标准模板库(STL)中的一个关联容器,它是 std::set 的变体,其核心特性是允许元素重复。同一个值可以出现多次,但所有元素仍然保持有序。 允许重复元素: - 与 std::set 的唯一性不同,std::multiset 允许插入相同的值多次。 - 这是
阅读全文
摘要:std::multimap 是 C++ 标准模板库(STL)中的一个关联容器,它是 std::map 的变体,其核心特性是允许键(key)重复。 键值对存储: - 和 std::map 一样,每个元素是一个 std::pair<const Key, T>。 - 键不是唯一的,允许多个元素拥有相同的键
阅读全文
摘要:std::map 是 C++ 标准模板库(STL)中的一个关联容器,它存储键值对(key-value pairs),并根据键(key)自动排序。 键值对存储: - 每个元素是一个 std::pair<const Key, T>,其中 Key 是键的类型,T 是值的类型。 - 键是 const 的,一
阅读全文
摘要:std::list 是 C++ 标准模板库(STL)中的一个序列容器,它实现了双向链表(Doubly-Linked List)。 与 std::vector 的连续存储不同,std::list 中的元素在内存中是分散的,通过指针相互连接。这种结构决定了它的独特性能特征。 双向链表: - 每个元素(节
阅读全文
摘要:std::vector 是 C++ 标准模板库(STL)中最常用、最重要的序列容器之一。它是一个动态数组(Dynamic Array),能够自动管理内存,在需要时自动增长或缩小其存储空间。 动态大小:大小可以在运行时动态改变。当插入元素导致容量不足时,vector 会自动分配一块更大的内存,将旧数据
阅读全文
摘要:set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的的数据结构。 唯一性:每个元素都是唯一的。如果你尝试插入一个已经存在的值,插入操作将失败(或被忽略),容器的大小不会改变。 有序性:内部使用平衡二叉搜索树(通常是红黑树)来实现。因此,元素会根据其值自动排序。默认情况下,元素
阅读全文
浙公网安备 33010602011771号