首页 > 解决方案 > 结构/类的名称,进行编译时计算

问题描述

我喜欢评论我的模板库资源。它提供了类型容器和使用它们的功能。例如:

template <class TypePair>
struct first;

template <class TypePair>
using first_t = typename first<TypePair>::type;

template <
    template <class, class> class TypePair,
    class First,
    class Second
>
struct first<TypePair<First, Second>>
{
    using type = First;
};

用法:

using my_pair = type_pair<int, double>;
using first_entry = first_t<my_pair>;
static_assert(std::is_same_v<int, first_entry >);

这是对类型的编译时间计算。我怎么称呼这样的东西?这个有通用词吗?我知道类型特征,但我不认为这个术语在这里是正确的。

在此先感谢,马丁

标签: c++templatesnaming

解决方案


推荐阅读