先说明如何使用swap来释放 vector 的内存,然后再说明在释放过程中发生了什么。释放操作如下:
void func()
{
vector<int> vec(2,3);
vector<int>().swap(vec); //该swap操作将释放原本 vector 所占用的内存
}
上述代码是经楼下的朋友qq_32118211 提出的一个比较严重的Bug后改正的版本,写文章的过程是我学习的过程,不见得都对,谢谢大家指出毛病,共同学习。原版错误与讨论加在文章最后。
先说明如何使用swap来释放 vector 的内存,然后再说明在释放过程中发生了什么。释放操作如下:
void func()
{
vector<int> vec(2,3);
vector<int>().swap(vec); //该swap操作将释放原本 vector 所占用的内存
}
上述代码是经楼下的朋友qq_32118211 提出的一个比较严重的Bug后改正的版本,写文章的过程是我学习的过程,不见得都对,谢谢大家指出毛病,共同学习。原版错误与讨论加在文章最后。