std::filesystem::recursive_directory_iterator

来自cppreference.com
 
 
 
 
在标头 <filesystem> 定义
class recursive_directory_iterator;
(C++17 起)

recursive_directory_iterator 是在目录的 directory_entry 元素上,及递归地在所有子目录的目录条目上迭代的老式输入迭代器 (LegacyInputIterator) 。迭代顺序是未指定的,但每个目录条目只造访一次。

默认不跟随符号链接,但这可以通过在构造时指定目录选项 follow_directory_symlink 启用。

跳过特殊路径名 点点

recursive_directory_iterator 被前移越过了顶层目录的最终目录迭代器,则它变得等于默认构造的迭代器,亦称作尾迭代器。两个尾迭代器始终相等,解引用或自增尾迭代器是未定义行为。

若在递归目录迭代器创建后,文件或目录被删除或添加到目录树,则更改是否会通过迭代器观察到是未指定的。

若目录结构含有环,则可能无法抵达尾迭代器。