Mail: Pass:
前月  2008年5月  翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

links

 びびすけさんのページ
 体重・走距離分析
 月間・靴・コース走距離
 タイムトライアル分析
 速度・心拍数分析
 自転車・月間・コース走距離
 オセロ勝敗・レート分析
 ViVi web site

新着日記

 zLib
 ViVi 2.x リリースチェック時間統計
 趣味悠々
 ViVi version 3.0 M-2 進捗
 ViVi週間DL数
 ViVi 3.0 開発方針
 記録更新
 ViVi 2.04 (RC版) リリース
 本サイトのアクセス数統計
 ViVi version 3.0 マイルストーン…
 ViVi ver 3 マイルストーン1 進…
 フォント選択可能@V3
 ViVi version 3.0 タスクリスト・…
 CycleCollection in リファレンス…
 循環参照検出(cycle detect)
 循環参照によるメモリリーク (2)

新着コメント

 おお/びびすけ
 再放送/川瀬
 アップ/びびすけ
 あーー!/スパイダーマン
 放映/びびすけ
 どもども/びびすけ
 必見だぁ^^/oyaji_aoba
 おおー!/スパイダーマン
 補足/びびすけ
 HGP行書体/びびすけ

トラックバック

トラックバックはありません。

カテゴリ一覧

 基本データ
 テニス
 ジョギング
 ViVi
 自転車
 Web
 RunRunDietOnline
 PostgreSQL
 ビルドアップ走
 ランニング

C++コンパイル時ファイル依存性の削減 (2) (2008/05/16 15:00)

C++コンパイル時ファイル依存性を削減するために用いられるもうひとつの方法がインプリメンテーションクラスを導入する方法である。
多くのファイルで利用されるクラスAがある場合、クラスAはパブリックなメンバ関数のみを持つようにし、実装は別のクラス:クラスA-impl に任せるようにする。
クラスAはインプリクラスを hold する。

"classA.h":
class ClassAimpl;
class ClassA
{
public:
  ClassA();
  メンバ関数...
private:
    std::auto_ptr<ClassAimpl> m_impl;
};

メンバ関数の処理はすべて、m_impl に委譲するようにコーディングする。
このテクニックにより、クラスAの(インタフェースが変わらず)実装方法が変わっても、クラスAを利用するクラスを再コンパイルする必要がなくなる。
このテクニックは 絶縁(insulation)と呼ばれる


コメント:

パス ← 半角英字で「abc」と入力してください。
名前
タイトル
コメント

( page views in recent 7 days)

パスワード忘れ
今週のランキング
計算タマちゃん
FAQ
ヘルプ
about rrdOnline