【发布时间】:2021-02-25 11:38:45
【问题描述】:
#include <type_traits>
int main()
{
std::decay<int()> p;
static_assert(1 == sizeof(p));
std::add_pointer<int> q;
static_assert(1 == sizeof(q));
}
这是有效的。但是为什么我们需要decay 等实例呢?这使得拼写错误(decay 而不是decay_t 等)更难被发现。这些类不应该有私有或删除的构造函数吗?
【问题讨论】:
标签: c++ templates constructor metaprogramming typetraits