我刚刚遇到了 std::tr1::extent 模板,这让我很困惑。我一生中从未处理过数组类型参数,所以我不明白它们是如何工作的。所以,给定来自 gcc 的代码type_traits
template<typename _Tp, unsigned _Uint, std::size_t _Size>
struct extent<_Tp[_Size], _Uint>
template<typename _Tp, unsigned _Uint>
struct extent<_Tp[], _Uint>
编译器如何在这些专业之间进行选择?我应该通过什么类型extent
让它选择第二个?