我来了一个模板代码,该模板代码在模板类型后使用*
:
...
template <typename _Up, typename _Ep, typename = void>
struct _Ptr
{
using type = _Up*;
};
...
我看到的另一种用法
...
template <typename T, typename \
std::enable_if<std::is_integral<T>::value,T>::type* = nullptr>
...
此结构在哪里描述?
答案 0 :(得分:6)
意味着对于任何类型都意味着相同的含义-它是指向type
内部定义的std::enable_if
的指针,该指针专门用于真实条件,默认情况下为void
-产生所有熟悉的void*
。
在一个完全不同的(可能是不明智的)注释上,这不是我第一次看到您提出的一个涉及相当复杂的主题的问题(SFINAE是一个问题),这表明一些基本原理尚不存在。我真诚地建议您阅读一本不错的C ++书-您可以在此处找到精选列表:The Definitive C++ Book Guide and List