首先順序容器幾乎可以儲存任意型別的元素。
vector> lines; //vector的vector
iterator
迭代器(iterator)模式,又叫做游標(cursor)模式。gof給出的定義為:提供一種方法訪問乙個容器(container)物件中各個元素,而又不需暴露該物件的內部細節。
const_iterator物件可以用於const vector 或非 const vector,它自身的值可以改(可以指向其他元素),但不能改寫其指向的元素值.
size_type由string類型別和vector類型別定義的型別,用以儲存任意string物件或vector物件的長度,標準庫型別將size_type定義為unsigned型別
difference_type
是描述序列(容器)中兩個元素位址之間差異的有符號整數型別;
value_type
它是乙個typedef。是迭代器所指物件的型別
reference
元素的左值型別;與value_type&含義相同
const_reference
元素的const左值型別(即const value_type&)
這裡記住,c.end()是指向尾部元素後面那個位置的!!!
while(begin != end)
//每個容器有三個元素,用給定的初始化器進行初始化
listauthors=;
vectorarticles=;
listlist2(authors); //正確:型別匹配
dequeauthlist(authors); //錯誤:容器型別不匹配
vectorwords(articles); //錯誤:容器型別必須匹配
和內建陣列一樣,標準庫array大大小也是型別的一部分。
array//型別為:儲存42個int的陣列
array//儲存10個string型別的陣列
但是我們不能對內建陣列型別進行拷貝或物件賦值操作,但是array並無此限制
這個函式允許我們從不同的但相容的型別賦值,或者從容器的乙個子串行賦值
足跡C primer 26 順序容器操作
forward list 有自己專有版本的insert和emplace forward list 不支援push back和emplace back vector,string 不支援push front和emplace front c.push back t c.emplace back args...
足跡C primer 35 特定容器演算法
特定容器演算法 lst.merge lst2 將來自lst2的元素併入到lst。這兩個都必須是有序的。lst.merge lst2,comp 元素將從lst2刪除,第乙個版本使用 運算子,第二個版本使用給定的運算子 lst.remove lst2 呼叫erase刪除掉與給定值相等 或令一元謂詞為真的...
足跡C primer 38 關聯容器操作 2
關聯容器操作 2 map的下標操作 map和unordered map容器提供了下標運算符合乙個相應的at函式 對於乙個map使用下標操作,其行為與陣列或vector上的下標操作非常不同樣 使用乙個不再容器中的keyword作為下標。會加入乙個此keyword的元素到map中 map和unorder...