C++0x中的类型别名有什么替代方法吗?

我想arrstd::array<T, 32>.

template<typename T>
using arr = std::array<T, 32>;

但是,它不适用于仅支持 C++0x(无类型别名)的 GCC 4.4.6。

我认为现在使用 GCC 4.4.6 是一个非常糟糕的主意,但是,我想知道是否有一些方法可以模拟type alias

以下代码可能有效,但arr不准确std::array<T, 32>,所以我想要一个更好的解决方案。

template<typename T>
struct arr : public std::array<T, 32>;

回答

在别名模板出现之前,通常会这样写:

template<typename T>
struct arr {
    typedef std::array<T, 32> type;
};

而不是arr<T>您必须使用arr<T>::typeand typename arr<T>::typewhenT是模板参数。


以上是C++0x中的类型别名有什么替代方法吗?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>