迭代器与traits编程技法
迭代器配合 traits 技法,可在编译期提取类型信息,实现泛型算法的类型调度与性能优化。
迭代器配合 traits 技法,可在编译期提取类型信息,实现泛型算法的类型调度与性能优化。
空间配置器管理内存分配与释放,分一级(大块直接malloc)和二级(小块空闲链表)配置器,提高内存利用率和分配效率。
自定义 INT 类,重载前置和后置自增自减运算符,返回值区分,支持链式调用和原值返回。
C++中小整数类型在运算前会提升为int,若直接移位可能导致符号位错误。应显式转换为uint32_t或更大无符号类型再移位,避免未定义行为。
异常安全是指在发生异常时,程序能够保持容器或数据结构的有效性,避免资源泄漏,并保证容器状态的一致性。常见的异常安全级别有基本保证、强保证和不变性保证。
std::multimap 是 C++ STL 中的关联容器,允许存储重复的键值对。它按键自动排序,并支持通过 equal_range() 查找所有具有相同键的元素。底层使用红黑树,提供 O(logN) 时间复杂度的查找、插入和删除操作。
std::multiset 是 C++ STL 中的关联容器,允许存储重复元素,元素自动按顺序排列(默认升序)。底层使用红黑树实现,支持 O(logN) 时间复杂度的插入、删除和查找操作。
std::map 是 C++ STL 中的关联容器,存储键值对,键唯一且按顺序排列。底层使用红黑树实现,提供 O(logN) 时间复杂度的插入、删除和查找操作。常用于需要有序数据的场景。
set 是基于红黑树的有序集合,自动排序、不允许重复元素,常用于快速查找、插入、删除。
序列容器 是 STL 的基础容器,提供通用结构和完整操作;容器适配器 是对这些容器的封装,模拟特定行为(如栈、队列)并限制接口以保障抽象。