c 之list簡單操作,有乙個小坑需要注意

2021-08-22 07:09:56 字數 665 閱讀 7863

#include #include #include using namespace std;

class ca

virtual void ff()

}; class cb : public ca

void ff()

}; class cc : public cb

}; int main()

{ listlist1(10,100);

list1.push_back(5);

list1.push_front(1);

list::iterator i = list1.begin();

list1.reverse(); //在list進行反轉的時候,

//這個地方如果不重新給i賦值的話,i指向的是1,1經過翻轉後是最後乙個元素,所以此時i = list.end();

i = list1.begin();

while(i!= list1.end())

{ cout<<*i由於list元素節點並不要求在一段連續的記憶體中,顯然在list中是不支援快速隨機訪問的,因此對於迭代器,只能通過「++」或「--」操作將迭代器移動到後繼/前驅節點元素處。而不能對迭代器進行+n或-n的操作,這點,是與vector等不同的地方

例如遍歷的時候有 i = i + 2;會導致編譯錯誤。

Go的List操作上的乙個小「坑」

一直想不清楚乙個問題,簡單設計的東西到底是 坑多 還是 坑少 呢?複雜的設計,考慮的太全面,使用起來更麻煩,使用者容易陷入亂,落入自身的陷阱 而簡單的設計呢,在許多方面上又顧及不周,如果使用者對其 設計 沒仔細研究,或者其實現本身又是乙個黑盒子,也容易掉入到設計本身遺留下來的 陷阱 下面是我剛開始使...

Go的List操作上的乙個小「坑」

一直想不清楚乙個問題,簡單設計的東西到底是 坑多 還是 坑少 呢?複雜的設計,考慮的太全面,使用起來更麻煩,使用者容易陷入亂,落入自身的陷阱 而簡單的設計呢,在許多方面上又顧及不周,如果使用者對其 設計 沒仔細研究,或者其實現本身又是乙個黑盒子,也容易掉入到設計本身遺留下來的 陷阱 下面是我剛開始使...

快速操作乙個list

取出list物件中的某個屬性,放在另乙個list中 把list中的資料轉為字串,用,號分隔 long userarray long convertutils.convert userids.split long.class 獲取單個 dbdictionary dictionary list.stre...