摘要:
# 26.STL中迭代器失效的情况有哪些? ## 1.STL之vector迭代器失效 `std::vector`是一个动态数组,当其大小或容量发生改变时,其内存可能被重新分配,从而导致已经存在的迭代器失效。以下是几种可能导致迭代器失效的情况: 1.**插入或添加元素**:使用`push_back`或 阅读全文
posted @ 2023-08-03 07:29
CodeMagicianT
阅读(366)
评论(0)
推荐(0)
摘要:
# 25.说一下STL每种容器对应的迭代器 | **容器** | **迭代器** | | | | | vector、deque | 随机访问迭代器 | | stack、queue、priority_queue | 无 | | list、(multi)set/map | 双向迭代器 | | unord 阅读全文
posted @ 2023-08-03 07:28
CodeMagicianT
阅读(65)
评论(0)
推荐(0)
摘要:
# 24.vector的增加删除都是怎么做的?为什么是1.5或者是2倍? size()函数返回的是已用空间大小,capacity()返回的是总空间大小,capacity()-size()则是剩余的可用空间大小。当size()和capacity()相等,说明vector目前的空间已被用完,如果再添加新 阅读全文
posted @ 2023-08-03 07:26
CodeMagicianT
阅读(109)
评论(0)
推荐(0)
摘要:
# 23.常见容器性质总结? C++ STL(Standard Template Library)提供了多种容器,用于存储和操作各种类型的数据。以下是一些常见容器的特性总结: 1.**std::vector**:动态数组,能高效地在末尾进行插入和删除操作,能直接访问任何元素。但在中间位置进行插入或删 阅读全文
posted @ 2023-08-03 07:21
CodeMagicianT
阅读(74)
评论(0)
推荐(0)
摘要:
# 22.STL中hash table扩容发生什么? 在 C++ STL 中,`std::unordered_map` 和 `std::unordered_set` 是两个使用哈希表 (hash table) 作为其底层实现的容器。 当哈希表的元素数量增长到某个阈值时,就需要进行扩容。这个阈值通常是 阅读全文
posted @ 2023-08-03 07:20
CodeMagicianT
阅读(769)
评论(0)
推荐(0)
摘要:
# 21.STL中的allocator、deallocator 阅读全文
posted @ 2023-08-03 07:20
CodeMagicianT
阅读(28)
评论(0)
推荐(0)

浙公网安备 33010602011771号