2017-01-01から1年間の記事一覧

EMC++ Chapter5

序文 用語 ムーブセマンティクス コピー演算をムーブ演算に置き換え可能にする。 ムーブコンストラクタ、ムーブ代入演算子はオブジェクトのムーブセマンティクスを制御する。 完全転送 任意の実引数を取り、他の関数へ転送する関数テンプレートの記述を可能…

EMC++ Chapter5

序文 用語 ムーブセマンティクス コピー演算をムーブ演算に置き換え可能にする。 ムーブコンストラクタ、ムーブ代入演算子はオブジェクトのムーブセマンティクスを制御する。 完全転送 任意の実引数を取り、他の関数へ転送する関数テンプレートの記述を可能…

TPOP - UNIX思想 3.37〜 (WIP)

UNIX思想 UNIX設計思想の正しさ UNIXは1969年に生まれて現在まで使われている。設計思想の正しさは長い実績が保証している。 モジュール化の原則 モジュールは自己完結させる 理由 問題の発生箇所がモジュール内に局所化できる。 方法 関連性の高いもののみ…

TPOP principle3.29 7つの設計原理

第3章 principle 3.29〜3.36 7つの設計原理 コード妥当性レビュー観点 単純原理 同型原理 対称原理 階層原理 透明原理 明証原理 安全原理 線形原理 単純原理 局所的な完全性を重視する ひと目で自明がいいに決まってる 複雑なところにバグが出る 基本的に独…

TPOP principle 3.64 UNIX哲学9 - フィルタ化

第3章 principle 3.64 UNIX哲学9 - フィルタ化 ソフトウェアはフィルタである データを生成するのは人間 データにフィルタをかけて別の出力を表示するのがコンピュータ 故に、まず入力ストリームと出力ストリームに着目し、そのフィルタリングとして設計を考…

TPOP principle 4.5 コードの臭い

第4章 視点 principle 4.5 コードの臭い Bad smell in code. 言葉の復習 設計とは何か。 principle 1.2 コードは設計書 「基本設計」「詳細設計」「プログラミング」「テスト」「デバッグ」全てを「設計」と呼び、「コード」は設計書、「リリースビルド」が…

C++TT Chapter5 - SFINAE

考察・まとめ 問題 SFINAEは何の略か。 SFINAEとはどのような仕組みのことを言うか。 型特性を英語で言え。 型特性メタ関数とは何か。 型Tがiterator型を持っているか判定するhas_iteratorを様々な方法で実装せよ。