タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

イテレータに関するni66lingのブックマーク (2)

  • C++イテレータ+OpenMPのforループにハマる - なぜか数学者にはワイン好きが多い

    C++のベクトル型の変数に対し,#pragma文でOpenMPの並列化をさせようとすると,うまくいきませんでした. #include<vector> int main() { vector<int> a(10); vector<int>::iterator i; int j; #pragma omp parallel for for(i=a.begin(),j=0;i!=a.end();++i,++j) { *i = j; } }エラーは, error: OpenMP for-test does not conformまぁ,よくよく考えれば分かることで...ループ回数が事前に分からないと,OpenMPはループ回数を分割して並列処理に持ち込むことが出来ない訳です.「i!=a.end()」だとwhile文的で,あらかじめループ回数が分からない,と. なので,次のようにループ回数が分かるようにし

    C++イテレータ+OpenMPのforループにハマる - なぜか数学者にはワイン好きが多い
  • イテレーター - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

    概要 C# の foreach 構文は、コレクションクラスの利用者側から見ると非常に便利な機能です。 しかしながら、実装側から見た場合、IEnumerableやIEnumeratorインターフェースを実装する必要があり、結構面倒な作業が必要でした。 この実装側の労力を軽減するために、C# 2.0ではイテレーター構文というものが追加されました。 ポイント イテレーター構文: IEnumerator を簡単に実装するための機能。 return の代わりに yield return イテレーター ブロック メソッドやプロパティのgetアクセサーなどを定義する際、ブロック中にreturnの代わりにyield returnもしくはyield breakを書くことで、通常のメソッドやプロパティとは違った動作が得られます。この、yield returnもしくはyield breakを含むブロックのことを

    イテレーター - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
  • 1