1

ポインターと静的に割り当てられた配列で STL アルゴリズムを使用したいのですが、それらはすべて反復子を必要とします。配列と長さを取り、それを使用できるイテレータはありますか?

arrayPS C++0xのクラスは知っていますが、使用したくありません。

4

2 に答える 2

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; }
于 2012-08-14T19:53:59.183 に答える
3

配列を直接使用できます。例えば、

int a[5] = .....;
std::for_each( a, ar + 5, someFunctor() );
于 2012-08-14T19:54:35.413 に答える