我正在寫一些數據結構的並行實現。我想知道是否有人知道純指針和std :: vector之間的性能差異。如果你知道它的可靠文檔,請寫URL /書名/任何。歡迎任何提示!C++ std ::向量性能[需要參考]
2
A
回答
5
區別在於使用方法和執行相對。
3
通過使用未經檢查的運算符[]並適當調整大小,可以使std :: vector像普通指針一樣快。現實情況是,矢量是指針上的編譯時抽象,而不是運行時指針,除非您選擇使用額外值。更重要的是安全向量提供了大量增加 - 調試迭代器,自動和安全的資源管理等。沒有理由使用原始指針。
編輯:我的參考是你以前做過的性能分析,你甚至認爲失去了矢量的安全性。
0
根據this answer in a similar question,訪問動態分配數組中的元素與std::vector
大致相同。在這個問題和this one as well有一些很好的分析。
0
如果你的意思是比較這裏的一些手寫的動態數組std::vector
有一些參考點:
- 調整大小的因素上插入是很重要的。這個因素沒有被標準規定,但通常在1.5或2之間,並且它必須保證在插入操作中的分期恆定時間。
- 分配器:很多性能取決於所使用的分配機制,同樣適用於指針。
- 如果您調用,那麼在原始指針中不會發生邊界檢查,則可以在
std::vector
中發生邊界檢查。
相關問題
- 1. 參考STL向量類型
- 2. C++和Thrift:參考需要開始
- 3. 需要Syncfusion.OcrProcessor.Base.dll裝配參考
- 4. 性能的std ::向量4維
- 5. 從C++向量中提取參考
- 6. 將std :: shared_ptr設置爲指向參考
- 7. C++參考本地變量與參考
- 8. 包裝std ::向量,向量,C++ SWIG Python
- 9. Clojure向量的參考
- 10. 多維的std ::向量(C++)
- 11. 修改參考返回的向量
- 12. C++轉發參考和右值參考
- 13. 在vs2010中需要添加什麼參考才能使用OpenGL?
- 14. ASP.NET「需要彙編的參考」錯誤
- 15. 需要ASP.net MVC View-markup語法參考
- 16. 使用std ::向量與智能指針
- 17. C++參考
- 18. std ::需要進行矢量優化
- 19. 這可能需要大量的參數在C#
- 20. 公共變量 - 需要的屬性C#
- 21. C++圖矢量參考誤差
- 22. std :: async - 參數向量被破壞
- 23. 需要參考本體的實例
- 24. 我需要調用UpdateModel什麼參考?
- 25. 需要外部CSS參考幫助
- 26. C++參考和參考參數
- 27. 登錄C++(性能考慮)
- 28. IS參考參考在C++?
- 29. C++參考shared_ptr vs參考
- 30. 如何專門爲STD模板的模板參數::向量C++
指針和`std :: vector`之間的通用性是什麼? – pmr 2010-11-25 21:14:06
不幸的是,我對此一無所知,但+1對於一個非常好的,可能很常見的問題:-) – Bojangles 2010-11-25 21:15:03
兩者都可以存儲任何類型的數據。我問,因爲我不知道哪一個更快。 – Adam 2010-11-25 21:15:46