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