我讀舊的數據結構的書,它說,當你在做模板類節目應該包括.h文件的末尾的.cpp結束的.cpp。包括模板頭文件
據我知道你需要做的全功能的實現在任何模板類成員函數的.h文件中 - 這是由於這樣的模板編譯工作。
我學會了可以放在一個實現文件的模板類的唯一功能是模板專業化的功能即:template<> Class<Type>::function_name()
。
爲什麼這本書建議包括在.H結束在.cpp?這只是將實現分離到不同文件中的一種方式,同時讓它們與頭文件一起編譯?如果是的話,你會在哪裏投入真正的專業化 - 我猜他們無法進入包含頭文件的.cpp文件。
我從未在我的生活中看到過這些名爲'ipp'的文件。 –
@JohnDibling:它全部都是提升。之前甚至在SO上提出了有關這方面的問題。 – 2011-09-28 14:02:25
請參閱http://stackoverflow.com/questions/543507/in-the-c-boost-libraries-why-is-there-a-ipp-extension-on-some-header-files –