是否有类似rbegin
和rend
的指针?
我有指向c风格字符串的头部和尾部的指针,但是想为它们创建反向迭代器。
我想知道标准提供的方法是否有办法,或者我必须为此编写自己的代码。
编辑:我使用低级代码是有原因的。没有std::basic_string
等。目标是使用std::find
查找最后一次出现的值。
答案 0 :(得分:0)
新的C ++ 2014标准包括数组的相应功能
template <class T, size_t N> reverse_iterator<T*> rbegin(T (&array)[N]);
template <class T, size_t N> reverse_iterator<T*> rend(T (&array)[N]);
实际上他们只使用std :: reverse_iterator。
因此,如果您的编译器不支持这些功能,您可以自己编写
std::reverse_iterator<char *> first( tail );
std:;reverse_iterator<char *> last( head );