![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
荨莘
这个作者很懒,什么都没留下…
展开
-
map 和 unordered_map 的区别
map 和 unordered_map 的区别map 的底层是基于红黑树来实现的增删改查的时间复杂度很稳定 O(logn)可以得到有序序列为什么不使用 BST 和 AVL 呢?BST(二叉搜索树) 可能会退化成为链表AVL(二叉平衡搜索树) 的平衡过于严格,导致每次删除插入操作对于整棵树的调整过于频繁,会带来不必要的时间消耗unordered_map 的底层是基于哈希表来实现的unordered_map 的查询效率可以达到接近 O(1)虽然 unordered_ma原创 2021-09-03 16:04:23 · 137 阅读 · 0 评论 -
C++ 为什么不像 Java 一样有垃圾回收机制
C++ 里有一个 RAII 机制(资源获取就是初始化),是 C++ 用来管理资源、避免内存泄漏的方法。它保证在任何情况下,使用对象时先构造对象,最后析构对象。也就是在使用一个对象的时候,在其构造时获取资源,在对象生命期控制对资源的访问使之始终保持有效,最后在对象析构的时候释放资源。函数在执行完毕的时候会自动清理栈空间内的内容,自动的去调用资源管理类的析构函数,RAII 就是结合了栈和析构函数来对所有资源进行管理,所以 C++ 就不需要像 Java 那样的垃圾回收机制,也能有效对资源进行管理。void.原创 2021-09-03 15:36:30 · 164 阅读 · 0 评论