声明使用是否有良好的做法(对于类似用法的typedef)?
例如,如果我有一个带有std::array<std::array<T, W>, H>
成员的类,我想通过这样的使用来简化阅读和写作
template<typename T, uint32_t H, uint32_t W>
using matrix = std::array<std::array<T, W>, H>;
我应该把它放在哪里?在类声明内部或外部甚至是单独的头文件?
谢谢
你的type alias template与模板类的目的完全相同,即定义一个类型:
template<typename T, uint32_t H, uint32_t W>
using matrix = std::array<std::array<T, W>, H>;
int main() {
matrix<double, 10,3> m;
return 0;
}
因此,良好的做法是完全像处理其他类型定义一样处理它:
对于非模板类型别名,它与旧的typedef
原理相同,因此与上面完全相同,此外,