17中,你可以使用二元运算符直接化简(reduce)参数包:
(译注:译文对作者的原始示例代码做了些许调整,原始代码请参看原文)
#include
template可以简化代码,构造函数的模板参数推导同样也可以....0;
}
22行和23行代码从C++第一个标准开始(C++98)便是合法的,但是25行及26行代码则只能在C++17中编译通过,因为在C++17之前,你必须使用尖括号()来指定需要实例化的类模板的类型参数...:在C++17中,编译器仍然可以执行一次 myVal 的复制操作(也可以不执行复制),但第7行代码仍然保证不会发生复制操作....,但译文中的示例代码并没有行号显示,原因是自己未找到markdown中源码显示行号的简易方法,有知道的朋友可以告诉一声)