stl的swap和(234)

去p站下图片越来越少了

string和vector

它们都是线性结构,只不过是堆而已。
它们都有reserve的概念,所以导致它们的预定义内存

释放内存的方法就是都是用swap, string().swap(s)

swap交换技巧实现内存释放思想:

vector()使用vector的默认构造函数建立临时vector对象,再在该临对象上调用swap成员,swap调用之后对象myvector占用的空间就等于一个默认构造的对象的大小,临时对象就具有原来对象v的大小,而该临时对象随即就会被析构,从而其占用的空间也被释放。

// //