【发布时间】:2019-03-24 09:07:43
【问题描述】:
有没有好的做法来声明一个 using(对于 typedef 之类的用法)?
例如,如果我有一个有 std::array<std::array<T, W>, H> 成员的类,并且我想使用这样的 using 来简化阅读和写作
template<typename T, uint32_t H, uint32_t W>
using matrix = std::array<std::array<T, W>, H>;
我应该把这个放在哪里?在类声明内部或外部,甚至在单独的头文件中?
谢谢
【问题讨论】:
-
我认为最好在最接近的使用范围内这样做,例如在单个翻译单元中,甚至可能在单个函数定义中。
-
头文件通常不应在其全局范围内包含
using。尤其不是using namespace std;kind -
非常感谢您的 cmets。 πάντα-ῥεῖ确实很相似,我会检查这个
-
这取决于太多的东西。你只在一个地方使用它吗?一节课?一个功能?整个项目?您的项目是一个库,您想公开类型供其他人使用?等等……
标签: c++ c++11 types typedef using