簡體   English   中英

是C ++ 17 std :: filesystem :: recursive_directory_iterator :: pop等於boost :: filesystem :: recursive_directory_iterator :: no_push

[英]is C++17 std::filesystem::recursive_directory_iterator::pop equal to boost::filesystem::recursive_directory_iterator::no_push

由於C ++ 17 std::filesystemboost::filesystem非常相似,因此我試圖做同樣的事情: 在迭代中轉義某些目錄

但是我發現在std::filesystem::recursive_directory_iterator中沒有實現no_push方法, no_push最接近的是pop方法,但是它們的功能完全相同嗎?

no_push()no_push(true)的等效項是disable_recursion_pending()

沒有等效的no_push(false)

它們根本不一樣。 std ::文件系統:: recursive_directory_iterator :: pop

在目錄層次結構中將迭代器上移一級。

哪里作為boost :: filesystem :: recursive_directory :: no_push

防止目錄的下一次迭代移入該目錄。

no_push不會更改當前迭代器,而pop會將迭代器向上移動。 Boost還具有與標准方法相同的pop方法。

標准具有選項,沒有它們,它將不會迭代symlink文件夾,就像在no_posh使用boost以避免迭代到symlink文件夾一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM