1. 大多數(shù)情況下可以用QList。像prepend()和insert()這種操作,通常QList比QVector快的多。這是因?yàn)镼List是基于index標(biāo)簽存儲(chǔ)它的元素項(xiàng)在內(nèi)存中,比那種依賴iterator迭代的更快捷。而且你的代碼也更少。
2. 如果你需要一個(gè)真正的連接著的list,且需要保證一個(gè)固定插入耗時(shí)。那就用迭代器,而不是標(biāo)簽。使用QLinkedList()。
3. 如果你需要開辟連續(xù)的內(nèi)存空間存儲(chǔ),或者你的元素遠(yuǎn)比一個(gè)指針大,這時(shí)你需要避免個(gè)別插入操作,出現(xiàn)堆棧溢出,這時(shí)候用QVector。
4. 如果你需要一個(gè)低層的可變數(shù)量大小的數(shù)組,用QVarLengthArray就夠了。他可以預(yù)先在棧中分配已知長度大小的數(shù)組,如果超過這個(gè)長度,會(huì)在堆中繼續(xù)存儲(chǔ)。默認(rèn)大小256。
更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。