我對Windows很新。在我與WMI合作的過程中,我看到沒有使用術語iterator
,而是enum或enumurator已用於相同的目的。他們真的有迭代器嗎?或者他們用enum或enum,EnumVariant等代替術語,迭代器......或者我錯過了關於迭代器和enumurator的一些事情。據我所知傳統上,enum這個術語與迭代器不同。我錯了嗎 ?enumurator或迭代器?
0
A
回答
0
術語枚舉器經常用作迭代器的同義詞。
enum或enumeration是完全不同的東西。
0
枚舉既是一個事物(一個可能的值列表)和一個動作(逐個列出每個項目)。 Windows API使用這兩個術語,依靠上下文來區分它們。
作爲一般規則,其名稱中帶有「Enum」的函數和接口名稱意味着枚舉,例如, EnumWindows意味着枚舉窗口和IEnumUnknown(一個COM接口)意味着枚舉未知的[對象]。
Windows API沒有單枚舉方法。 EnumWindows在內部實現循環,並通過處理函數反覆調用回來,而IEnumUnknown要求調用者使用Next()函數編寫循環。
因此,在Windows上,枚舉器是遍歷元素列表的問題的一大類解決方案。
迭代器是枚舉器的C++標準庫概念。選擇「迭代器」而不是「枚舉器」可能是爲了避免與現有的枚舉語言概念混淆。與Windows不同,C++標準庫迭代器的概念非常明確:所有迭代器都像指針一樣工作;所有迭代器都需要調用者編寫循環等.C++標準庫中有幾類迭代器,它們允許以線性方式,相反或隨機方式訪問元素。
相關問題
- 1. 迭代與自動ref或迭代器
- 2. for循環或迭代器?
- 3. 迭代器的迭代器
- 4. 有效的或無效的迭代器和迭代器位置
- 5. 輸入迭代器+輸出迭代器+ X =前向迭代器
- 6. const_reference或迭代器的映射(當沒有實際迭代時)
- 7. 在迭代器對象中迭代「1個或更多」元素?
- 8. C++ - 迭代器迭代器不編譯
- 9. 異類迭代器的C++迭代器
- 10. Python迭代器:重置迭代器?
- 11. PHP迭代器像mysql迭代器?
- 12. 迭代器指針或引用 - 錯誤
- 13. 返回指針或迭代器
- 14. Iterable#iterator()是否返回一個新的迭代器或現有的迭代器?
- 15. 迭代器postgreslql
- 16. 迭代器類
- 17. Java:迭代器
- 18. C++迭代器
- 19. 迭代器中的迭代器在樹型集合中的迭代器
- 20. PHP迭代器時,迭代結束
- 21. 如何迭代使用迭代器
- 22. rails每個迭代器迭代兩次
- 23. 推迭代迭代器混合使用
- 24. 單迭代共享迭代器
- 25. 迭代器只能迭代一次嗎?
- 26. 迭代器無故迭代C++
- 27. 迭代函數的Python迭代器
- 28. 迭代器中迭代遍歷控件
- 29. 分享迭代器是否可迭代?
- 30. 調用迭代器迭代對象