複習 不知道這本會沒更新版的??書有點早
Effective STL 第五條 區間成員函數優先於與之對應的單元素成員
原因
一、易寫易懂
1. 通過使用區間成員函數,通常可以少寫一些代碼
2.使用區間成員函數通常會得到意圖清晰和更加直接的代碼
二、優越性:效率 (對於標準的序列容器)
舉例 insert
1.不必要的函數調用
2.頻繁的移動位置
3.重複內存分配capacity的變化 的複製問題 vector string (deque內存管理方式不同)
list 節點prev和next指針重複的多餘的複製操作
關聯容器的效率 沒講。。。。
區間成員函數(標準的容器) 迭代器類型
1 區間創建 如下構造函數
container::container(InputIterator begin,
InputIterator end)
2.區間插入 insert 關聯容器 利用比較函數決定元素插入位置 ,省略位置position
void contain::insert(iterator position,
InputIterator begin,
InputIterator end)
3.區間刪除 erase 關聯容器和順序容器返回值有所不同
順序容器
iterator container::erase(Iterator begin,
Iterator end)
關聯容器
void
container::erase(Iterator begin,
Iterator end)
4.區間賦值 assign
void
container::assign(InputIterator begin,
InputIterator end)
最後 三點六個字:易寫 易懂 高效