explicit-specialization

    6熱度

    6回答

    嗨我有問題選擇具有顯式專業化的模板類的正確版本。我想要使​​用用於專門化的類的派生類來選擇專業化。該方案是: #include <stdio.h> class A {}; class B: public A {}; template<typename T> class Foo { public: int FooBar(void) { return 10; } };

    3熱度

    3回答

    考慮像下面怎麼可能做到明確專門的功能,一個版本用於多種類型的模板函數: template <typename T> void doSomething(){ //whatever } 的目的是有一個專業化而不是多個以下的人,因爲//東西是一樣的: void doSomething<int>(){ //something } void doSomething<float>(){ //

    2熱度

    2回答

    在詢問this question並閱讀了很多模板之後,我想知道下面的類模板設置是否有意義。 我有一個名爲ResourceManager的類模板,它只會加載一些特定的資源,如ResourceManager<sf::Image>,ResourceManager<sf::Music>等。顯然,我在ResourceManager.h中定義了類模板。然而,由於只有少數明確的實例,這將是適當的做這樣的事情..

    2熱度

    3回答

    問題在說什麼。另外,是否可以這樣做內聯? 這裏是一個小例子只是爲了給一個想法...... template<typename T> class Foo { public: Foo() :z(0.0) {} void do(const Foo<T> &f) { z = f.z; } // specialize 'do' for Foo<int>

    1熱度

    2回答

    如何寫明確的專業化爲目標 Car<T> 虛擬方法明確()? template <class U> class List { public: virtual void clear(); }; template <class T> template <> void List < Car <T> >::clear() //Specialization U =