相关疑难解决方法(0)

在可变参数模板的上下文中,"..."标记的规则是什么?

在C++ 11中有像这样的可变参数模板:

template< class T, class... Args >
unique_ptr<T> make_unique( Args&&... args )
{
    return unique_ptr<T>(new T(std::forward<Args>(args)...));
}
Run Code Online (Sandbox Code Playgroud)

有一些好奇这个问题:表达std::forward<Args>(args)...同时使用Argsargs,但只有一个...令牌.此外,std::forward是一个非可变参数模板函数,只接受一个模板参数和一个参数.那个(大致)的语法规则是什么?如何概括?

另外:在函数实现中,省略号(...)位于感兴趣的表达式的末尾.有没有理由在模板参数列表和参数列表中省略号位于中间?

c++ variadic-templates c++11

96
推荐指数
2
解决办法
3566
查看次数

标签 统计

c++ ×1

c++11 ×1

variadic-templates ×1