我想为一个类型创建多个别名,我真正需要的是如下所示,
using MIN = MAX = AVG = nano_t;
(这似乎更优雅,更少打字,而且还有两个以上的情况我必须做这种分配),而不是这样做:
using....
using...
using... every time
但单行分配对我想要的编译器没有意义。还有其他办法吗?
答案 0 :(得分:6)
using
不允许多个别名,但typedef
会:
typedef nano_t MIN, MAX, AVG;
答案 1 :(得分:1)
显而易见的答案是在单独的声明中进行:
using MIN = nano_t;
using MAX = nano_t;
using AVG = nano_t;
如果确实想要关注DRY(但我不打扰这么小的例子),你可以这样做:
using min_max_avg_aliased_type = nano_t;
using MIN = min_max_avg_aliased_type;
using MAX = min_max_avg_aliased_type;
using AVG = min_max_avg_aliased_type;