vector的 emplace 和 insert

 

    vector<int> first;//Size()==2
    first.push_back(1);
    first.push_back(2);
    //first.insert(2);

    vector<int>second;//Size()==3 + assign??
    second.push_back(3);
    second.push_back(4);
    second.push_back(5);
    vector<int>::iterator it = first.begin();
    //second.assign(it,first.end());
    second.insert(second.end(),first.begin(),first.end());


    printf("first.size=%d\n", first.size());
    printf("second.size=%d\n", second.size());
    for (it = second.begin(); it != second.end(); it++)
        printf("second[]=%d\n", *it);

second 要插入first的内容,太长了。好麻烦。怎么就没有直接 push_back(vector) 的 重构函数呢??

emplace 是C++11 里的 ,感觉跟这个 insert用法是一样的啊。

 assign 是完全替换的意思。 直接用 operator = 难道不就OK了么?

 reserve是修改vector目前数组 的大小。配套的是capacity()方法。获取数组的大小。

resize是修改vector 内容的。配套的是size()方法。获取数据的个数。 size() <= capacity();

 

 

 

 

 

--------------

真想把 www.cplusplus.com 这个网站给抓下来,然后自己做一个站点。

它没有评论;有些示例 非常不好。

你可能感兴趣的:(vector)