【初心者歓迎】C/C++室 Ver.34【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0159デフォルトの名無しさん
2007/01/25(木) 16:43:28smart_ptrを利用しているのですが、例えばクラスのメンバー変数として
class CNantoka
{
smart_ptr<CHoge> hoge;
};
とやる場合、そのクラスの前にCHoge.hをincludeする必要があるようです。
ですがこれだと、CHoge.hが書き換えられる度に、CNantoka.hを読んでいる全てのcppがリコンパイルされてしまいます。
単純なポインタならば
class CHoge;
class CNantoka
{
CHoge* hoge;
};
とやればいいのですが、smart_ptrで同様の手軽さを実現することはできないのでしょうか?
(目的から考えると)CNantokaを使いたい連中に、CHogeの実装を知らせる必要はありません。
メンバーには(後述する構造体への)ポインタだけもたせて、メンバー変数代わりの構造体の定義をCNantoka.cppで行なうという手は一応考えました。
■ このスレッドは過去ログ倉庫に格納されています