類別成員函數的部分特化
與常規函數不同,C 中不允許僅部分特化模板類別中的成員函數。相反,有必要部分特化整個類別。
要實現成員函數的部分特化,應採取以下步驟:
例如,要建立以下部分特化給定程式碼中的Deform() 成員函數,其中nValue 等於0,以下程式碼顯示如何修復原始程式碼:
// Partial specialization of the Object class for nValue = 0 template <> class Object<int, 0> { private: int m_t; Object(); public: Object(int t): m_t(t) {} int Get() { return m_t; } Object& Deform() { std::cout << "Specialized\n"; m_t = -1; return *this; } };
透過這些修改,程式碼現在將正確部分特化Deform() nValue 等於0 的成員函數。
以上是如何在 C 中實現模板類別中成員函數的部分特化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!