在我的 cpp 檔案中,在每個函式之前,我需要包含以下行:
template <typename T>
是否有一些簡寫符號,以便我可以為一組函式只鍵入一次陳述句,而不是在每個函式之前鍵入這個?
另外,我需要<T>在類名之后包含,例如:
void MyClassName<T>::setDefaultValues()
有什么方法可以對所有模板函式進行分組,這樣我就不必為每個函式重復輸入?
uj5u.com熱心網友回復:
沒有。如果每個函式都需要它,則需要在每個函式之前直接告訴編譯器。
稍微短一點的方式當然是template <class T>
如果我們使用宏,我們可以變得更短。
uj5u.com熱心網友回復:
由于這是模板型別,并且您使用的是 C 11,因此消費型別無論如何都需要完整定義,這意味著您的其他檔案將使用#include ""您的源檔案。
為什么不在頭檔案中定義所有內容,就像 STL 為其容器所做的那樣,并為您省去冗余令牌和呼叫者必須包含他們并不真正需要的檔案的麻煩。不要將模板拆分為定義和實作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438734.html
下一篇:模板化已經模板化的基類的派生類
