QDirListing::const_iterator Class
class QDirListing::const_iterator该类在 Qt 6.8 中引入。
- 所有成员列表(包括继承的成员)
- const_iterator 属于“输入/输出与网络”类别。
公共类型
公共函数
| const_iterator() | |
| const_iterator(QDirListing::const_iterator &&) | |
| QDirListing::const_iterator::reference | operator*() const |
| QDirListing::const_iterator & | operator++() |
| void | operator++(int) |
| QDirListing::const_iterator::pointer | operator->() const |
| QDirListing::const_iterator & | operator=(QDirListing::const_iterator &&) |
详细说明
QDirListing::cbegin() 返回的迭代器类型。
- 这是一个仅支持正向遍历、单遍历的迭代器(无法按反向顺序遍历目录条目)
- 无法被复制,仅支持 `
std::move()d`。 - 对实现 `
std::input_iterator` 接口的对象进行后递增运算时,其返回值是部分构成的(即一个已被前进的迭代器的副本),此类对象上唯一有效的操作是销毁和赋值一个新的迭代器。因此,后递增运算符会使迭代器前进,并返回 `void`。 - 不允许随机访问
- 可用于范围 for 循环;或与不要求随机访问迭代器的 C++20 std::ranges 算法配合使用
- 对有效迭代器进行解引用将返回一个
const DirEntry & - (c)end() 返回一个QDirListing::sentinel ,该值表示迭代结束。对与end() 相等的迭代器进行解引用将导致未定义行为
注意: "经典"的 STL 算法不支持迭代器/哨兵,因此您需要使用 C++20 的 std::ranges 算法来实现 `QDirListing`,或者使用在 C++17 中提供基于范围算法的第三方库。
另请参阅 QDirListing 、QDirListing::sentinel 以及QDirListing::DirEntry 。
成员类型文档
[alias] const_iterator::pointer
const QDirListing::DirEntry * 的 typedef 定义。
[alias] const_iterator::reference
const QDirListing::DirEntry & 的 typedef。
成员函数文档
[constexpr noexcept default] const_iterator::const_iterator()
默认——构造一个const_iterator 的实例。
[constexpr noexcept default] const_iterator::const_iterator(QDirListing::const_iterator &&)
通过Move构造一个const_iterator 的实例。
QDirListing::const_iterator::reference const_iterator::operator*() const
返回该迭代器所指向的目录条目的const QDirListing::DirEntry & 。
QDirListing::const_iterator &const_iterator::operator++()
前递增运算符。将迭代器向前移动一步,并返回该迭代器的引用。
void const_iterator::operator++(int)
后递增运算符。
QDirListing::const_iterator 该运算符实现了 C++20 中的std::input_iterator 接口,即它是一个仅支持移动、仅支持向前、单次遍历的迭代器,不允许随机访问。
对符合std::input_iterator 规范的对象进行后递增操作时,其返回值是部分成形的(即一个已被递增的迭代器的副本),此类对象上唯一有效的操作是销毁以及赋值一个新的迭代器。因此,后递增运算符会递增迭代器,并返回void 。
QDirListing::const_iterator::pointer const_iterator::operator->() const
返回一个指向该迭代器所指向的目录条目的const QDirListing::DirEntry * 。
[constexpr noexcept default] QDirListing::const_iterator &const_iterator::operator=(QDirListing::const_iterator &&)
将other 通过Move操作赋值给此const_iterator 实例。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.