(原創) 將所有的include都寫在.h中,可避免重複include (C/C++) (C)
C++在OOP方面和C#、Java最大不同的地方,就是C#和Java不需header檔,定義和實作都在一個檔,但C++卻是定義在header檔(.h),實作在.cpp檔,姑且不論哪個方式較好,但C++已經註定要用這種方式了。
如std::string,在.h宣告時會用到,而在.cpp實作時也用到,若在.h和.cpp都去#include <string>,這樣又重複include了,枉費我們辛苦的在.h用header guard....。
既然.cpp一定要#include "xx.h",那就干脆將.cpp要#include的library全部寫到.h中,如此.cpp也不用重新#include了,這雖然是個很小的技巧,卻能解決重複#include的問題。