gpt4 book ai didi

c++ - 检查迭代器的类型是否为 reverse_iterator

转载 作者:IT老高 更新时间:2023-10-28 22:58:50 25 4
gpt4 key购买 nike

有没有办法检查作为 arg 传递给 fnc 的迭代器是否是 reverse_iterator?我可以使用任何迭代器特征函数吗?

最佳答案

用偏特化来写很简单:

#include <iterator>
#include <type_traits>

template<typename Iter>
struct is_reverse_iterator
: std::false_type { };

template<typename Iter>
struct is_reverse_iterator<std::reverse_iterator<Iter>>
: std::true_type { };

尽管如下所述,这并不能处理“反向-反向”迭代器的(恕我直言不太可能)情况。 Bathsheba 的答案中稍微不那么琐碎的版本正确处理了这种情况。

关于c++ - 检查迭代器的类型是否为 reverse_iterator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35408762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com