Namespaces
Variants

std::filesystem::recursive_directory_iterator:: recursive_directory_iterator

From cppreference.net
recursive_directory_iterator ( ) noexcept ;
(1) (自 C++17 起)
recursive_directory_iterator ( const recursive_directory_iterator & other ) ;
(2) (自 C++17 起)
recursive_directory_iterator ( recursive_directory_iterator && other ) noexcept ;
(3) (自 C++17 起)
explicit recursive_directory_iterator ( const std:: filesystem :: path & p ) ;
(4) (自 C++17 起)
recursive_directory_iterator (

const std:: filesystem :: path & p,

std:: filesystem :: directory_options options ) ;
(5) (自 C++17 起)
recursive_directory_iterator (

const std:: filesystem :: path & p,
std:: filesystem :: directory_options options,

std:: error_code & ec ) ;
(6) (自 C++17 起)
recursive_directory_iterator ( const std:: filesystem :: path & p, std:: error_code & ec ) ;
(7) (自 C++17 起)

构造新的递归目录迭代器。

1) 默认构造函数。构造一个结束迭代器。
2) 拷贝构造函数。
3) 移动构造函数。
4-7) 构造一个迭代器,该迭代器指向 p 所解析目录中的首个条目。

目录

参数

p - 目录迭代器将引用的文件系统对象的路径
ec - 非抛出重载中用于错误报告的输出参数
options - 控制目录迭代器行为的 BitmaskType 选项集合
other - 用作源以初始化目录迭代器的另一个目录迭代器

异常

任何未标记为 noexcept 的重载在内存分配失败时可能抛出 std::bad_alloc

4,5) 当底层操作系统 API 出错时抛出 std::filesystem::filesystem_error ,该异常以 p 作为第一个路径参数,以操作系统错误代码作为错误码参数构造。
6,7) 若操作系统 API 调用失败,将 std:: error_code & 参数设置为操作系统 API 错误码;若未发生错误,则执行 ec. clear ( )

注释

递归目录迭代器默认不追踪目录符号链接。要启用此行为,请在 options 选项集中指定 directory_options::follow_directory_symlink

示例

缺陷报告

下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。

DR 适用范围 发布时的行为 正确行为
LWG 3013 C++17 error_code 重载标记为 noexcept 但可能分配内存 移除 noexcept