更改成員的數目我需要一個模板類,它具有不同的成員,具體取決於調用哪個ctor。 我設法得到一個類,它有不同的成員使用sfinae與一個基類(我幾乎像這樣做了SFINAE on member variable)。 現在我的問題是,我可以實現一個單獨的模板類,它具有不同的成員,具體取決於該類的哪個類被調用? 也許有人可以有一個想法如何實現這一點。根據構造函數
編輯︰我目前使用boost::variant
,但問題是,該變種中最大的對象是巨大的,而最小的是一個指針。這是一個真正的性能問題,因爲大部分時間指針都在變體中。
編輯II:如果這將與男星合作,將是真棒,但如果沒有,工廠氣電兩用將正常工作。
編輯III(或我想要實現的): 我目前正在製作一個DSL,它轉換爲C++。 因爲我試圖讓多態性成爲可能,所以我只傳遞指向函數的指針。因爲有些指針是引用計數的,有些指針是原始的,這取決於用戶想要的內容,可以有shared_pointers和同一類的原始指針。這就是爲什麼我不能讓兩個不同的類,因爲如果一個函數被調用的一個指針,它應該是相同的功能,否則我不得不超負荷所有fnctions,這會給我 2 ** n個函數時,函數有n個參數。 這就是爲什麼我試圖創建一個類,它可能代表原始指針或shared_ptr,基於傳遞給ctor的類。
是否_have_是一個構造函數?它可以代替工廠功能嗎? – ildjarn
這看起來像一個奇怪的想法......你想要做什麼? – Holt
@ildjarn:完全是我的想法:-)創建一個按需交付對象的生成器/工廠。 – Klaus