2.区间成员函数优先于与之对应的单元素成员函数
生活随笔
收集整理的這篇文章主要介紹了
2.区间成员函数优先于与之对应的单元素成员函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
案例1:v1、v2兩個vector, 將v2后半部分內容賦給v1
區間成員函數版本:
std::vector<int> v1; ... std::vector<int> v2; ... v1.assign(v2.begin() + v2.size() / 2, v2.end());?單元素成員版本:
std::vector<int> v1; ... std::vector<int> v2; ... v1.clear(); for (auto iter = v2.begin() + v2.size() / 2; iter != v2.end(); ++iter) {v1.push_back(*iter);// 可能會導致多次分配空間 }案例2:將int數組拷貝到vector前端
區間成員函數版本:
int data[10]; ... std::vector<int> v; ... v.insert(v.begin(), data, data + 10);?單元素成員版本:
int data[10]; ... std::vector<int> v; ...auto iter = v.begin(); for (int i = 0; i < 10; ++i) {iter = v.insert(iter, data[i]); // 返回插入的位置, 導致插入點后面元素的多次移動++iter; }?優先選擇區間成員函數的優點:區間成員函數寫起來更容易, 更能清除的表達你的意圖, 而且它們表現出了更高的效率。
總結
以上是生活随笔為你收集整理的2.区间成员函数优先于与之对应的单元素成员函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.确保容器中的对象拷贝正确而高效
- 下一篇: 3.调用empty而不是检查size()