stl   for_each | vicのブログ

vicのブログ

ツール系やソフト開発について書こうと思っています。
書き込み大歓迎です。
間違いとかもっといい方法とかあったらご指摘いただけるとありがたいです。
質問をいただいたら、記事をもっとわかりやすく変更します。

STL の for_each やfind系は普通の配列も使える。

使用例:
int table[]={111,222,333};
for_each(table, &table[_countof(table)], 
for_each(begin(table), end(table), 
  [](int& a){ printf("%d\n",a*1000); }
);

線引きで行っているのは、間違っていないが、下記記述のほうが分かりやすいので変更


実行結果
111000
222000
333000



間違えやすい点
for_eachの引数だが
先頭ポインタ最終ポインタ+1
間違えやすい点は +1 注意しよう
上記、&table[_countof(table)] は &table[3] になる。違和感があるかもしれない。しかし、そういう仕様になっている。

だが、begin(~)  end(~)  を使えばよかっただけだった・・・

STLで普通の配列を使用する場合、
~.end() に相当するのは、最終ポインタ+1
になる。