【发布时间】:2023-04-04 18:57:01
【问题描述】:
是否可以检查类型T 是任意类型和大小的std::array?
我可以检查一个特定的数组,例如:
is_same<T, std::array<int,5>>::value
但我想检查T 是std::array 的任何实例。如下所示(当然,它不会编译):
is_same<T, std::array>::value
有没有办法实现这一点(可能不使用is_same)?
【问题讨论】:
-
你可以写一个通用的
is_same_template并说is_same_template <T::template array, std::array>。编译器必须支持 c++11 注入的类名规则。
标签: c++ templates c++11 metaprogramming typetraits