タグ

genericsに関するundertheskyのブックマーク (4)

  • ジェネリクスによるVisitorパターン拡張の考察 - プログラマーの脳みそ

    先日twitterで "Expression Problem" という問題を知った。 静的な型付けの下で、場合分けのデータ構造に対して、新しい場合分けとその場合に対する新しい処理を、元のソースコードに手を加えることなく拡張定義すること 2009-05-16 この問題が意図するところを語るにはまずオブジェクト指向から流れを辿らねばなるまい。 オブジェクト指向のポリモーフィズム Javaのようなオブジェクト指向の言語で、ある特定のメソッドがあることを抽象クラスHogeで保証するとしよう。 public interface Hoge { void hoge(); } このとき、機能性、つまりメソッドというのは増えることがない固定のものだが、継承して実装されたクラスというのは自由に増やすことができる。そして、抽象型Hogeを扱っている既存コードは修正する必要がない。 これはいわゆる開放/閉鎖原則(

    ジェネリクスによるVisitorパターン拡張の考察 - プログラマーの脳みそ
  • ジェネリックプログラミング - Wikipedia

    このページは著作権侵害のおそれが指摘されており、事実関係の調査が依頼されています。 このページの現在または過去の版は、ウェブサイトや書籍などの著作物からの無断転載を含んでいるおそれが指摘されています。もしあなたが転載元などをご存知なら、どうぞこのページのノートまでご一報ください。 著作権侵害が確認されると、このページは削除の方針により一部の版または全体が削除されます。もしこのページの加筆や二次利用をお考えでしたら、この点を十分にご認識ください。 ジェネリック(総称あるいは汎用)プログラミング(英: generic programming)は、具体的なデータ型に直接依存しない、抽象的かつ汎用的なコード記述を可能にするコンピュータプログラミング手法である。 概要[編集] ジェネリックプログラミングはデータ型でコードをインスタンス化するのか、あるいはデータ型をパラメータとして渡すかということにか

    ジェネリックプログラミング - Wikipedia
  • ジェネリックプログラミングの技術

    この文書は boost ライブラリで用いられている ジェネリックプログラミングの技術に関する、未完成の調査報告です。 Table of Contents イントロダクション 概念 (concept) の詳細 特性 (traits) タグディスパッチ アダプタ (adaptor) 型生成子 オブジェクト生成子 ポリシークラス イントロダクション ジェネリックプログラミングはソフトウェアコンポーネントを汎用化すること であり、それによってコンポーネントが多様な状況下で簡単に再利用できるよう になります。C++ ではテンプレートクラスとテンプレート関数が特に効果的な仕 組みです。なぜならばテンプレートは効率を犠牲にせずに汎用化を可能にするか らです。 ジェネリックプログラミングの例として、C 標準ライブラリ関数の memcpy()を汎用化する方法を見てみます。

  • 1