std::filesystem::directory_iterator:: directory_iterator
|
directory_iterator
(
)
noexcept
;
|
(1) | (自 C++17 起) |
|
explicit
directory_iterator
(
const
std::
filesystem
::
path
&
p
)
;
|
(2) | (自 C++17 起) |
|
directory_iterator
(
const
std::
filesystem
::
path
&
p,
std:: filesystem :: directory_options options ) ; |
(3) | (自 C++17 起) |
|
directory_iterator
(
const
std::
filesystem
::
path
&
p,
std::
error_code
&
ec
)
;
|
(4) | (自 C++17 起) |
|
directory_iterator
(
const
std::
filesystem
::
path
&
p,
std::
filesystem
::
directory_options
options,
|
(5) | (自 C++17 起) |
|
directory_iterator
(
const
directory_iterator
&
other
)
=
default
;
|
(6) | (自 C++17 起) |
|
directory_iterator
(
directory_iterator
&&
other
)
=
default
;
|
(7) | (自 C++17 起) |
构造一个新的目录迭代器。
options
中被设置且构造过程中遇到权限拒绝错误,则构造结束迭代器且不报告错误。
p
标识的目录中的首个目录项。若
p
指向不存在的文件或非目录路径,则返回结束迭代器并设置
ec
。
options
中设置了
std::filesystem::directory_options::skip_permission_denied
且构造过程中遇到权限拒绝错误,则构造结束迭代器且不报告错误。
目录 |
参数
| p | - | 目录迭代器将引用的文件系统对象的路径 |
| ec | - | 非抛出重载中用于错误报告的输出参数 |
| options | - | 控制目录迭代器行为的 BitmaskType 选项集合 |
| other | - | 用作源以初始化目录迭代器的另一个目录迭代器 |
异常
任何未标记为
noexcept
的重载在内存分配失败时可能抛出
std::bad_alloc
。
注释
要遍历当前目录,请使用 directory_iterator ( "." ) 而非 directory_iterator ( "" ) 来构造迭代器。
示例
|
本节内容不完整
原因:缺少示例 |
缺陷报告
以下行为变更缺陷报告被追溯应用于先前发布的C++标准。
| DR | 适用范围 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| LWG 3013 | C++17 |
error_code
重载标记为 noexcept 但可能分配内存
|
移除 noexcept |