![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL C++
文章平均质量分 91
Valestarial
会当凌绝顶,一览众山小。
展开
-
std::vector<Tp>::push_back(const Tp& val)的实现原理
std::vector::push_back的实现原理背景vector::push_back是如何实现的分配新空间移动旧数据到新空间构造待插入的对象释放旧空间重新设置 vector 数据成员的值总结背景C++标准库的std::vector<Tp>容器的内存是连续存储的,这在某些应用中具有很大的优势,比如兼容C语言的已有操作,我们在vector中存储了n个POD类型数据,比如std::vector<double> vec(20),我想清空这些数据为0,可以用memset(vec.原创 2021-06-14 14:27:06 · 1173 阅读 · 0 评论 -
理解C++标准库[STL]的type_traits的实现原理,如何在实际开发中使用类型特性做算法优化。
类型和算法C++语言在语法层面是一个强类型的语言。除了支持内置类型[整形和浮点类型,还支持指针类型],另外又允许有自定义类型class or struct。类型(class)是一种较好的抽象,尤其是自定义类型。类型之间有却别又有联系,比如 std::vector<MyClass> 和std::list<MyClass> 从C++语法和实现细节来讲是两种不同的类型,但是从更抽象的层次考虑,他们却又无多大区别,都是容器,容器是什么? – 置物之所,都是用来存储东西的。如果我们想从容器原创 2021-06-06 19:32:13 · 238 阅读 · 0 评论