STL是否包含一个适用于数组的迭代器?

Ale*_*lex 1 c++ arrays pointers iterator stl

我想在指针和静态分配的数组上使用STL算法,但它们都需要迭代器.是否有任何迭代器将采用数组和长度让我使用它?

PS我知道arrayC++ 0x 中的类,但我不想使用它.

R. *_*des 13

指针随机访问迭代器!您可以简单地将指针传递给数组的开头,并指向一个指向结尾的指针.这些功能(包含在C + 11中)可能会派上用场:

template <typename T, std::size_t N>
T* begin(T(&array)[N]) { return array; }

template <typename T, std::size_t N>
T* end(T(&array)[N]) { return begin(array) + N; }
Run Code Online (Sandbox Code Playgroud)