c++ - 这个模板参数是什么?

标签 c++ templates

所以我今天遇到了有关 C++ 模板编程的问题,谁能向我解释一下什么是 A(*)(B) 作为模板参数?

template <class X, class Y, class A, class B>
struct replace_type_impl<A(*)(B),X,Y,false>
{
  typedef typename replace_type<A,X,Y>::type (*type)(typename replace_type<B,X,Y>::type);
};

最佳答案

A (*)(B) 类型是指向函数的指针类型,该函数接受一个 B 类型的参数并返回一个 类型的值A.

这只是另一种类型。您的代码是类模板 replace_type_impl部分特化实例。

关于c++ - 这个模板参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477857/

相关文章:

c++ - 如何替换重复的索引计算公式

c++ - SDL:体系结构 x86_64 的 undefined symbol

c++ - 如何将 C++ 类的静态成员函数传递给模板并调用该函数

c++ - 类模板的特化构造函数

c++ - 有什么办法可以减少这段代码的执行时间吗?

c++ - 我怎样才能对 TCHAR 进行子字符串化

c++ - 我如何将我的类模板专门化为更少的参数

c++ - 使用模板的函数重载 - 仅在存在替代函数时应用 enable_if

.net - 使用 aspx 渲染引擎生成非 HTML

c++ - Vulkan/VMA 更改缓冲区大小,类似于 `realloc`