C++ 模板中的 `typename...` 语法是什么?

what is `typename...` syntax in C++ template?

刚在程序(C++)文件中找到这段代码:

template <typename blah, typename... Args>
const <some-type> bof(<some-parameters>, Args&&... args) const
{
    return breck(std::forward<Args>(args)...);
}

我在想:

  1. typename 后面的三个点是什么?
  2. 直观上看起来我们可以通过这种方式传递多个参数?正在寻找官方 term/reference 吗?

它被称为参数包,您可以在这里阅读更多内容:https://en.cppreference.com/w/cpp/language/parameter_pack

事实上,当您事先不知道会有多少模板化参数时,您可以使用 Args... 来解压函数或 class 模板中的多个参数。