タグ

ブックマーク / www.sun-inet.or.jp/~yaneurao (1)

  • C++ lambda すーぱーぷろぐらみんてくにーーく!

    The Super Programming Technique §1.ラムダ式をC++で実現する【前編】 関数型言語の基的な概念であるラムダ式を、C++で実現する方法について紹介します。 ・高階関数(higher-order function) 他の関数を引数として扱う関数は、高階関数と呼ばれます。 「関数を引数にとる」のですが、関数を渡すためには、C++では、関数ポインタで渡すか、templateで渡すかです。(operator ( )をオーバーロードしたクラスをfunctorと呼び、これを引数templateを用いて渡すテクニックについては⇒集中講義4. 超高速描画の謎【後編】を参照のこと。) グラフィックの転送ルーチン等は、処理の99%が同じで、ピクセルをコピーする関数のみが違うという場合があります。このように、共通の処理がある場合、この高階関数にすると処理がすっきり書けます。

  • 1