std::filesystem::directory_iterator::operator++, std::filesystem::directory_iterator::increment

来自cppreference.com
 
 
 
 
directory_iterator& operator++();
(1) (C++17 起)
directory_iterator& increment( std::error_code& ec );
(2) (C++17 起)

前移迭代器到下个条目。使所有 *this 先前值的副本失效。

参数

ec - 存储错误状态的错误码

返回值

*this

异常

若内存分配失败,则任何不标记为 noexcept 的重载可能抛出 std::bad_alloc

1) 抛出 std::filesystem::filesystem_error,构造时以 OS 错误码为错误码实参。

若 OS API 调用失败,则 @2@ 设置 std::error_code& 形参

为 OS API 错误码,而未发生错误时则执行 ec.clear()

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 3013 C++17 error_code 重载被标记为 noexcept 但能分配内存 移除 noexcept