配列終端と STL アルゴリズム
STL アルゴリズムで配列を扱うときに、その終端をうまく扱う方法を紹介しておく。
// 配列の終端を扱うためのテンプレート関数 template <typename T, size_t N> T* end_of(T (&array)[N]) { return array + N; }
// 利用例 char buf[YOUR_DEFINITION]; const char *p = std::find(buf, end_of(buf), CONDITION); if (p != end_of(buf)) // found the element else // NOT found the element
# std::tr1::array を使えよ、といわれました…。 orz