模式匹配如何在C ++中用于模板参数推导

时间:2019-02-15 16:10:06

标签: c++ c++17

在阅读template argument deduction for function规范时,我有些失落。

我正在寻找有关模式匹配如何工作的一些见解。 例如:

template <typename T>
void foo(T& t);
//       **--------P (T&)

const int& a = ...;
foo(a);
//  *----- A (const int&)

以下answer指出:

(i)如果A是参考,则忽略参考部分 (ii)然后将AP进行模式匹配,以确定T

但是它是如何完成和起作用的。 我指的是这个section

  

如果 P 具有包含模板参数列表 的形式之一,则每个元素 Pi 与其 A 的相应模板参数 Ai 相匹配。如果最后一个 Pi 是一个包扩展,则将其模式与 A 模板参数列表中的每个剩余参数进行比较。

我完全不清楚...

0 个答案:

没有答案