日常开发笔记总结(十四)
文章来源于网络,略有修改,引用参考文末链接。
引子
我们知道,std::vector之所以可以动态扩容,同时还可以保持顺序存储,主要取决于其扩容复制的机制。当容量满时,会重新划分一片更大的内存区域,然后将所有的元素拷贝过去。
但是笔者却发现了一个奇怪的现象,std::vector扩容时,对其中的元素竟然进行的是深复制。请看示例代码:
#include <iostream>
#include <vector>
struct Test {
Test() {std::cout << "Test" << std::endl;}
~Te......