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

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

前移迭代器到下个条目。非法化所有 *this 的先前值的副本。

参数

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

返回值

*this

异常

不接受 std::error_code& 参数的重载在底层 OS API 错误时抛出 filesystem_error ,以作为错误码参数的 OS 错误码构造。若 OS API 调用失败,则接受 std::error_code& 参数的重载设置该参数为 OS API 错误码,而若不出现错误则执行 ec.clear() 。若内存分配失败,则任何不标记为 noexcept 的重载可能抛出 std::bad_alloc

缺陷报告

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

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