// ============================================================================ // p1c09_03_03 — 3.2.5.1巧用swap,收缩内存空间 // 来源:川大 C++/LinuxC wiki「02.Qt方向」 // 说明:本文件由 gen_part1.py 合并页面中的教学片段而成。每个片段用 // // --- 原文片段 [pageId:blockIdx] --- 标注出处。 // 已做最小修正(笔误/平台移植),详见 docs/ERRATA.md。 // ============================================================================ #include using namespace std; #include #include #include static inline void pause() { printf("按回车键继续..."); (void)getchar(); } // --- 原文片段 [58954488:2] 3.2.5.1巧用swap,收缩内存空间 --- #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; int main(){ vector v; for (int i = 0; i < 100000;i ++){ v.push_back(i); } cout << "capacity:" << v.capacity() << endl; cout << "size:" << v.size() << endl; //此时 通过resize改变容器大小 v.resize(10); cout << "capacity:" << v.capacity() << endl; cout << "size:" << v.size() << endl; //容量没有改变 vector(v).swap(v); cout << "capacity:" << v.capacity() << endl; cout << "size:" << v.size() << endl; pause(); return EXIT_SUCCESS; } // --- main ---