條款一 仔細選擇你的容器
*vector<char>可以作為string的替代品
*vector list deque ,vector是一種可以默認使用的序列類型,當很頻繁的對序列中進行插入和刪除的時候應該用list,大部分發生在尾部的話用deque這種數據結構
*連續內存容器和基于節點的容器的區別
連續容器vector/string/deque在一個或者多個內存塊中保存它們的元素,如果新元素被插入或者已存元素被刪除,其他在同一個內存塊中的元素必須向上或者向下移動來為新元素提供空間或者填充原來被刪除的元素所占的空間,這種移動影響了效率。
基于節點的list,插入或者刪除的時候不需要移動
*序列容器在任意位置插入一個新元素,關聯容器不可以
*容器中的數據的內存布局需要兼容C嗎,如果是,那只能用vector
*查找速度,散列容器》排序的vector>標準的關聯容器
*需要可靠的插入和刪除的能力,如果是需要使用基于節點的容器
*需要迭代器、指針、引用的實效次數減少到最小,如果是,使用介于節點的容器,一般來說,在連續容器上的插入和刪除會使所有指向容器的迭代器指針和引用實效