C 程式設計規範之stl容器(讀書筆記)

2021-04-12 23:23:59 字數 444 閱讀 2296

第76條 預設時使用vector。否則,選擇其他合適的容器

第77條 用vector和string代替陣列

摘要:有助於編寫更安全,伸縮性更好的軟體

第78條 使用vector(和string::c_str)與非c++ api交換資料

摘要:vector和string::c_str是與非c++ api通訊的通道,但是不要將迭代器當作指標,要獲取vector::iterator iter所引用的元素位址,應該使用&*iter

第79條 在容器中只儲存值和智慧型指標

第80條 用push_back代替其他擴充套件序列的方式

第81條 多用範圍操作,少用單元素操作

第82條 使用公認的慣用法真正地壓縮容量,真正地刪除元素

摘要:要真正的壓縮容器的多餘容量,應該使用swap魔術慣用法。要真正的刪除容器中的元素,應該使用erase-remove慣用法。 

STL讀書筆記

vector 會自動增長的陣列 list 擅長插入刪除的鍊錶 有黑必有白,世界萬物都是成對出現的。鍊錶對於陣列來說就是相反的存在。陣列本身是沒有動態增長能力的 程式中也必須重新開闢記憶體來實現 而鍊錶強悍的就是動態增長和刪除的能力。但對於陣列強悍的隨機訪問能力來說的話,鍊錶卻很弱。list是乙個雙向...

讀書筆記(C ) 順序容器

9.1 順序容器的定義 表 9 1 順序容器 vector 支援快速隨機訪問 list 支援快速插入 刪除 deque 雙端佇列 順序容器介面卡 stack lifo queue lifo priority queue 有優先順序管理的佇列 9.1.1 容器元素的初始化 表 9 2 容器建構函式 c...

C 讀書筆記 順序容器

1 順序容器包括 vector,list,deque 2 接受容器大小做形參的建構函式只適用於順序容器,而關聯容器不支援這種初始化。3 作為容器元素型別必須滿足以下兩個約束 一 元素型別必須支援賦值運算。二 元素型別的物件必須可以複製。上面的兩條是最低限度的元素型別約束。除了引用型別外,所有內建或復...