我有從基礎結構派生的int模板結構。模板結構陣列
struct Base { int i; double d; };
template< int N > struct Derv : base { static const int mN = N; };
我需要柴油< N>其中N可以爲陣列中的每個結構變化的陣列。我知道C/C++不允許不同類型的對象數組,但是有沒有辦法解決這個問題?我想以某種方式分離類型信息(提示像指向基本結構或聯合彈簧使用我的腦海中,但所有這些我不知道如何存儲每個數組元素的類型信息用於使用期間編譯時間)。如您所見,每個Derv < N>的內存模式相同。
我需要在代碼中稍後訪問模板專用化的每個數組元素的類型。這一切的總體目標是有一個編譯時調度機制,而不需要在代碼中的某處執行運行時「類型切換」。
目前我沒有看到任何有用的東西'Derv'是模板類。一個都沒有。所以首先你應該想知道你是否在問正確的問題。 –
做「基地」的向量矢量,並完成。 –
這個問題的關鍵是靜態分派的參數(我不想包含整個代碼,但總的來說,有些模板函數的行爲因Derv類型而異)。所有這些都發生在性能至關重要的代碼中,所以我寧願避免虛擬,函數指針和類似的東西。 –