C++
Magicianlial
这个作者很懒,什么都没留下…
展开
-
C++模板的偏特化与全特化
C++模板的全特化与偏特化一、为什么要特化模板模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。二、全特化与偏特化模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型。偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。例子:全特化teplate<> class A<int, double>() {...};偏特化 temp原创 2022-01-17 10:57:20 · 773 阅读 · 0 评论 -
vector扩容机制
一、扩容原理Vector通过一个连续的数组存放元素,如果集合已满,在新增数据的时候,就要分配一块更大的内存,将原来的数据复制过来,释放之前的内存,在插入新增的元素。二、扩容倍数1.5倍或2倍(增长倍数太大会导致产生的堆空间浪费)不同编译器扩容方式不同:编译器扩容倍数GCC2MSVC1.5CLANG1.5测试代码:#include <iostream>#include <vector>using namespace std;原创 2022-01-22 11:27:01 · 2752 阅读 · 0 评论