是否有可能通過它的指針直接訪問STL鏈表的元素?我的程序需要快速插入,移除和訪問元素。用指針直接訪問STL鏈表的元素
回答
STL容器使用迭代器而不是指針。如果你有一個指向鏈表的元素的迭代器,你可以通過它訪問元素的數據,使用列表的insert method插入迭代器的位置,並使用erase method在迭代器的位置刪除。
是否可以「合成」一個迭代器並將其用作函數的參數? –
@ blacklemon67:幾乎可以保證你沉浸在一種思維破碎的思路中。退出一點,然後用一個基於迭代器的接口設計你的程序到容器中,幾乎肯定會是一個很好的解決方案。 –
@ blacklemon67:爲什麼綜合一個,你可以只有一個真正的迭代器? –
而不是使用STL鏈接列表,您可能想要使用指針定義您自己的鏈接列表實現。例如:
template <class E>
struct Node {
E data;
Node * next;
};
因此定義一個Node類,它將成爲鏈表中的一個元素。正如Kerrek SB所建議的那樣,從長遠來看,用迭代器重新設計程序可能會更快更好。
- 1. 直接訪問STL「set」元素
- 2. 通用鏈接列表指針訪問
- 3. 限制指針訪問STL ::向量元素
- 4. 直接從form.FormController訪問表單元素?
- 5. 使用指針訪問結構元素
- 6. 找到指向鏈接列表中的元素的指針c
- 7. 訪問C++的矢量指針元素
- 8. 訪問指針陣列中的元素
- 9. 直接訪問結構的元素
- 10. PHP的SimpleXMLElement直接訪問元素
- 11. 檢索鏈接列表中的指針元素的數據
- 12. 鏈接列表/指針的問題
- 13. 是否可以使用c指針訪問Lua表元素?
- 14. 如何訪問嵌套的stl元素?
- 15. php DomDocument +直接訪問xml元素
- 16. Angularjs指令:訪問鏈接功能中的同級元素
- 17. 指針指針:分區鏈接列表
- 18. 創建和訪問指向QObject的QVector指針的元素
- 19. C++ STL訪問向量元素
- 20. C++ STL:列表指針 - 迭代器無法訪問?
- 21. 使用另一個指針訪問結構內的指針元素
- 22. 指針代表在STL集
- 23. 約指針STL
- 24. 指針鏈接列表C
- 25. 鏈接列表指針
- 26. 鏈接列表指針prob
- 27. 鏈接列表/指針C
- 28. C++:訪問使用指針向量元素到它的開始
- 29. 修改鏈接列表,使每個元素可以存儲指向另一個鏈接列表的指針
- 30. STL鏈表::如何訪問成員?
請澄清問題 –