c++
抽烟喝酒烫头都不干
这个作者很懒,什么都没留下…
展开
-
C++ STL deque容器底层实现原理(深度剖析)
事实上,STL 中每个容器的特性,和它底层的实现机制密切相关,deque 自然也不例外。《C++ STL deque容器》一节中提到,deque 容器擅长在序列的头部和尾部添加或删除元素。本节将介绍 deque 容器的底层实现机制,探究其拥有此特点的原因。想搞清楚 deque 容器的实现机制,需要先了解 deque 容器的存储结构以及 deque 容器迭代器的实现原理。deque容器的存储结构和 vector 容器采用连续的线性空间不同,deque 容器存储数据的空间是由一段一段等长的连续空间构成,各转载 2021-08-06 16:58:17 · 849 阅读 · 0 评论 -
STL 最大堆、最小堆的应用
链接: STL 最大堆、最小堆的应用.转载 2021-07-21 17:33:39 · 146 阅读 · 0 评论 -
STL中less和greater的用法
链接: STL中less和greater的用法.转载 2021-07-21 17:26:23 · 281 阅读 · 0 评论 -
map/multimap/unordered_map,set/multiset/unordered_set
map/multimap,set/multiset都为c++中的标准容器,它们的底层都是用红黑树实现的,因此在进行查询,修改,删除等操作上具有很高的效率,可以达到O(logN),都是有序的。那么它们的区别是什么呢?1,其中map/multimap是kay-value结构,意思为它存储的是一对数据,其中kay为关键字信息,而value为相应的键值;而set/multiset为kay结构,它没有相应的value信息。2,由于map/set是用红黑树实现的,所以它不允许kay值相同的数据插入(在后面的例子中原创 2021-07-21 11:57:17 · 156 阅读 · 0 评论 -
指针*p 二级指针**p 指针引用*&p
#include<iostream>static int s_num=10;void fun(int** p){ std::cout << *p << std::endl; std::cout << **p << std::endl; *p = &s_num;}void fun(int* &p){ std::cout << *p << std::endl; p =原创 2021-07-08 17:22:48 · 122 阅读 · 0 评论 -
explicit 为什么禁止隐式类型转换
函数重载,入参有很多类型A,B,C,实参是一个整型,若整型都能隐式转换成A,B,C,那么调用该函数的时候具体该调用哪个函数呢?原创 2021-07-08 16:51:33 · 138 阅读 · 0 评论