3. pImplイディオムとは (1) pImplイディオムを使わない場合の問題点 #include “gadget.h” class Widget { public: Widget(); … private: std::string name; std::vector<double> data; Gadget g1, g2, g3; }; Widgetを使うクライアントコードは、 gadget.h, widget.h, vector, string に依存 • includeするファイルが多いことによる コンパイル時間増大 • gadget.h と widget.h が変更されるたびに クライアントコードも再コンパイルされる [widget.h] http://bit.ly/1KjcGeb 4. pImplイディオム = – C++98からよく知られたテクニック – インターフェースと実