テンプレート使うとヘッダが肥大化してコンパイル&リンク時間が爆発する! なんとかして! という問題への対処法です。 コードはこちら: http://gist.github.com/640298 以下、解説…ですが、しっかりした解説を書くのは面倒なので、箇条書き程度に。 基本アイデアとしては、実装の詳細は非テンプレートの実装用クラスの内部クラスに隔離し、テンプレートはその薄いラッパにすることによって、ヘッダから実装を取り除く、というものです(thin template 技法)。 通常の thin template では、非テンプレートの実装用クラスのメンバ構成までは秘匿できませんが、そこを pImpl にすることで、ほぼ完全に実装を秘匿できます。 ただし一点、メモリ管理だけは秘匿しにくいので、そこは boost::shared_ptr を使って「型を消す」ことで対処しています( shared
Recent entries 宣伝:C/C++のための開発補助ツール、GCCSenseをリリースしました matsuyama 2010-04-15 宣伝:Rubyのための開発補助ツール、RSenseをリリースしました matsuyama 2010-03-21 Emacsは死んだ matsuyama 2010-02-22 WebアプリケーションをiPhoneに対応させるための技術メモ matsuyama 2009-10-13 tokyo-emacs#x02の個人的レポート matsuyama 2009-09-07 Recent comments replica louis vuitton Anonymous User 2010-12-22 Re:テキスト入力中に補完候補を自動的に表示してくれる auto-complete.el をリリースしました Anonymous User 2010-12
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く