为什么std::filesystem::path
不提供反向迭代器(即rbegin
和rend
)有技术原因吗?
如果我有一个std::filesystem::path
for/a/b/c/b/d/b/e
并且我想找到第一个匹配的组件b
,我可以使用std::find(p.begin(), p.end(), fs::path("b"))
.
但是如果我想找到匹配的最后一个组件b
,我不能只切换到反向迭代器。我可以编写自己的循环,但看起来这将是一个“几乎免费”实现的常见操作。
接口的设计是否会导致难以提供反向迭代器?