反向指针迭代器的标准方法

时间:2014-03-18 18:44:35

标签: c++ pointers iterator reverse

是否有类似rbeginrend的指针?

我有指向c风格字符串的头部和尾部的指针,但是想为它们创建反向迭代器。

我想知道标准提供的方法是否有办法,或者我必须为此编写自己的代码。

编辑:我使用低级代码是有原因的。没有std::basic_string等。目标是使用std::find查找最后一次出现的值。

1 个答案:

答案 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 );