??????????????? ????????????????Vector???й???????? Link????

???????????? Vector?洢?Щ????????????????? clear() ?????沢??????????????????????й??????????????

????“vector ?? clear ????? capacity ?? ????? swap ?????? vector??”

???????????????????????????????????????? vector swap clear ??????????????????????????????????Щ?????????

??????????????????? ??Effective STL???е?“????17”????????

??????vector??string?????????????????????????????????????????????clear?? ????и??????????????capacity????????????????????檔 ??????????????????????????????????????????????С??????? ???????裨shrink to fit??

??????Effective STL?????????????????

    vector<type> v;
    //.... ??????????????v
    //.... ???????v?е???????
    vector<type>(v).swap(v);
    //???v???????????????????????????????????
    //????string???????????????
    string(s).swap(s);

???????????????????????????vector??£??????????????????? ?????????????С????????????????????????????????vector v???? ????????????????н?????????????????????????????????v?????? ????????????????????????????????????????vector????????????????

?????????????????д????????????£?

    #include <iostream>
    #include <vector>
     
    using namespace std;
     
    vector <string> v;
    char ch;
     
    int main ()
    {
     
        for(int i=0; i<1000000; i++)
            v.push_back("abcdefghijklmn");
        cin >> ch;
        // ???????????? ???54M
     
        v.clear();
        cin >> ch;
        // ?????μ?飬 ??????54M
     
        cout << "Vector ?? ?????" << v.capacity() << endl;
        // ???????? 1048576
     
        vector<string>(v).swap(v);
     
        cout << "Vector ?? ?????" << v.capacity() << endl;
        // ????????0
        cin >> ch;
        // ?????棬????? 10M+ ??????????
        return 0;
    }

???????

???????????????????????STL????????????? ????vector??????????ò??? clear ??????

??????????? ????STL???????????Щ???????????vector?? vector???????????????????????????????????????? ???·??????ɡ?

??????????????????????????????棬????????????????????????????? ?????????????μ???????????????? vector???????????????????? ?????????????????

?????????????????????? clear() ??? swap() ?ɡ?