我試圖追加100 000個QString元素(每個QString有大約10個字符)到QVector。之後,程序失敗。 QVector可以包含多少個元素(當然除了物理內存限制)還有一些限制嗎?另外,我覺得有很多可用的內存,足以存儲這樣的一串字符串。我究竟做錯了什麼?QVector有最大尺寸嗎?
1
A
回答
1
嘗試使用QStringList作爲建議。我懷疑一個100k的字符串會成爲一個內存問題。
QStringList tlist;
for(int i=0;i<100000;i++)
tlist.append("1234567890");
運行我的環境
2
從文檔中完全罰款。
的QVector類是一個模板類,它提供一個動態數組... 它存儲在其相鄰的存儲位置的項目,並提供快速 基於索引的訪問。
此知道要追加大量元件的最好的方法是使用
QVector<QString> vector(100000);//or
vector.reserve(100000);
這避免了重新定位幾次所述存儲器中的保留存儲器要麼。
相關問題
- 1. PHP:數組有最大尺寸嗎?
- 2. Riak套裝有最大尺寸嗎?
- 3. 想知道QVector尺寸
- 4. 最大尺寸
- 5. javascript最大尺寸
- 6. ColorBox最大尺寸
- 7. NSUserDefault最大尺寸
- 8. BlockingCollection最大尺寸
- 9. ICO最大尺寸
- 10. NSUbiquitousKeyValueStore最大尺寸
- 11. QGLWidget最大尺寸
- 12. 最大尺寸/ Oracle Spatial的
- 13. HashSet的最大尺寸
- 14. UILabel的最大尺寸?
- 15. Android MessageQueue最大尺寸
- 16. StringBuffer的最大尺寸
- 17. SWT複合最大尺寸
- 18. 升壓池最大尺寸
- 19. MX畫布最大尺寸
- 20. 的malloc的最大尺寸()
- 21. Android光標最大尺寸
- 22. GridBagLayout最大單元尺寸
- 23. 設置QBoxLayout最大尺寸?
- 24. Unistd閱讀()最大尺寸
- 25. Android C2DM Registration_ID最大尺寸
- 26. async_read()的最大尺寸
- 27. 最大尺寸在PowerShell中
- 28. JSplitPane底部最大尺寸
- 29. img最大化尺寸
- 30. tkinter最大畫布尺寸?
元素的數量限於int的限制(約20億)。你的問題將與你所投入的大小有關。或者有些問題正在複製你正在放入的內容。 – paulm
你能展示一個失敗代碼的最小例子嗎?順便說一句,[QList通常建議通過QVector](http://qt-project.org/doc/qt-5.0/qtcore/containers.html#the-container-classes)。 – 2013-07-23 12:12:10
顯示代碼,避免猜測。順便說一句,更詳細地解釋你觀察到的失敗類型 – UmNyobe