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

新着日記

 C++コンパイル時ファイル依存性の…
 C++コンパイル時ファイル依存性の…
 ひさびさの 1900台
 wikiprog (2)
 wikiprog
 どちらが見やすい?
 将棋名人戦 第3局
 Win XP sp3
 生物学を理解できない10の理由(1)
 ファイルロード処理時間 (2)
 ファイルロード処理時間
 本サイト統計
 インサイド codeIgniter
 CStringT
 フォーマット終了
 XPセットアップ

新着コメント

 ありがとうござ…/びびすけ
  /ishigaki
 オブジェクトの…/びびすけ
 50年に一度の大…/びびすけ
 補足/びびすけ
 ignore list に…/びびすけ
 ignore list/びびすけ
 無題/ももたろ
 コメントども/びびすけ
 無題/ももたろ

トラックバック

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

カテゴリ一覧

 基本データ
 テニス
 ジョギング
 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