矩陣列向量的C 模板Typedef
在C 中,常見的任務是建立與特定維度的矩陣等效的列向量。例如,從 Matrix 類別衍生的 Vector 類別將是理想的。不幸的是,為此目的使用標準 typedef 機制會導致編譯錯誤。
C 11 解決方案:別名聲明
C 11 引入了別名聲明,這是 typedef 的泛化,這允許模板專門化。下面的程式碼提供了一個解決方案:
template <size_t N> using Vector = Matrix<N, 1>;
使用此聲明,類型 Vector相當於 Matrix。
C 03 解決方法
在C 03 中,與別名宣告最相似的解決方法是使用巢狀typedef:
template <size_t N> struct Vector { typedef Matrix<N, 1> type; };
在這種情況下,Vector::type 是等效的到矩陣。
以上是如何使用 C 範本定義列向量類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!