C++ 中过大的vector在不需要使用的时候最好及时释放掉这部分的内存
其中clear只是清除vector的元素而不是释放整个vector的内存
释放vector的内存需要通过一下这种方式:
std::vector<Foo> x;
vector<Foo>().swap(x)
原理是会构造一个临时的空的矢量和x进行交换 然后删除这个临时量
另外vector内部扩容一次的性能消耗是很大的 所以最好还是最开始的时候给vector设定足够的内存
C++ 中过大的vector在不需要使用的时候最好及时释放掉这部分的内存
其中clear只是清除vector的元素而不是释放整个vector的内存
释放vector的内存需要通过一下这种方式:
std::vector<Foo> x;
vector<Foo>().swap(x)
原理是会构造一个临时的空的矢量和x进行交换 然后删除这个临时量
另外vector内部扩容一次的性能消耗是很大的 所以最好还是最开始的时候给vector设定足够的内存