我在模板类型之后使用了 *
的模板代码:
...
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>
...
在哪里描述了这个结构?
最佳答案
与它对任何类型的含义相同 - 它是指向 std::enable_if
中定义的 type
的指针,专门用于 true 条件,即默认 void
- 产生所有熟悉的 void*
。
在一个完全不同的(可能是不明智的)注意事项上,这不是我第一次看到您提出的问题涉及相当复杂的主题(SFINAE 就是一个),这表明一些基本的基础知识还不存在。我真诚地推荐阅读一本优秀的 C++ 书籍 - 您可以在此处找到精选列表:The Definitive C++ Book Guide and List
关于c++ - 模板类型后的星号 '*' 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54225226/