specialization

    2熱度

    1回答

    考慮下面的代碼片段模板的方法: struct A { template <class T > void doSomething(T t) { std::cout << "doSomething() with " << t << std::endl; } }; template <class T> struct B { T val; };

    0熱度

    1回答

    大家好我有this的例子。通常在這種情況下,我會使用訪問者模式。但由於某種原因,寫了Base,DerivedA,0 DerivedB的人更喜歡dynamic_cast s。請記住,我無法更改Base,DerivedA,DerivedB類。 我有周圍的部分專業鑄造。請讓我知道這是一個好的解決方案還是有更好的解決方案? #include <iostream> using namespace std;

    3熱度

    2回答

    我有一種情況,我想定義一個專門化爲與相同的另一個類的實例化。這裏是什麼,我希望有一個簡單的例子(在這個例子中一個完整的intantiation;在我實際的問題,我希望有一個偏特): //Template class template <int i> class Foo { /*...*/ }; //Another, completely different, template class

    0熱度

    1回答

    本月我開始學習語言(С++)。 專業化必須返回最長行的地址。我的代碼不起作用。編譯器錯誤沒有顯示。 #include <iostream> #include <cstring> using namespace std; template <typename T> T maxn(const T * cArr, const int iSize); template <> char *

    1熱度

    2回答

    是否可以專門化enum上的模板函數? 我見過注意here模板函數可以被禁用,如果它不是一個枚舉,但這是可能的,但仍然允許其他類型?下面 我的例子顯示了專業化int,float和enum(它不會編譯,因爲它試圖超載enum版本,而不是專業的話)。我覺得我失去了一些明顯的東西。 請注意,我在找專門的任何枚舉,而不是僅僅(在本例中EAnEnum)命名一個 #include <iostream> en

    10熱度

    1回答

    trait Eq[@specialized -X] { def eq(x: X, y: X): Boolean } trait Keyed[@specialized(Int) X] { def eqOnKey: Eq[X] } 方法eqOnKey不專業產生Keyed$mcI$sp類。 我該如何專注於此方法,即將Keyed$mcI$sp中的方法eqOnKey$mcI$

    0熱度

    1回答

    在模板類中專門化某些模板函數時,似乎前向聲明引發了一個問題。我也是爲了專門化這個功能而專門開發這個類,這似乎是導致這個問題的原因。 編輯:關於處理功能預創建功能,第二個問題: processor.H namespace OM{ template<typename MatchT> //fwd decl. ERROR 2. see below. class Manager; template

    0熱度

    1回答

    我需要確保一個實體專門發給一個實體。 例如,我有一個人可以是學生或老師。必須是其中之一,不能兼而有之。我想要與正好與一名學生或教師相關聯的人員。 我使用MySQL和JPA。 我該如何做到這一點?

    1熱度

    1回答

    我有這樣的情況,即我有一個對所有類型的數據類型都適用的現有模板類。但是現在我需要將它專門化爲來自特定類的類。但是並不是所有的班級都應該是專業化的,而只是一些功能。 我試圖按照this post中描述的方式去做。 class BaseClass { public: bool DoSomething() { return true; } };

    1熱度

    1回答

    #include <iostream> template <typename T1, typename T2> class B{ public: void update(){ std::cerr<<__PRETTY_FUNCTION__<<std::endl; } void func1(){ std::cerr<<__PRETTY_FUNCTION__<<std::en