W.F*_*.F. 7 c++ templates language-lawyer c++17
除了对构造函数最明显的模板参数推导使用外,我可以想象一些更复杂的用例,我们只推导出模板类的部分参数,例如:
std::pair<int> p(1, 2); // std::pair<int, int>
Run Code Online (Sandbox Code Playgroud)
虽然这个结构是在函数中推导出模板参数的自然结果,但我找不到这种用法的任何例子.也许是因为具有可变参数模板参数的类的模糊性?
std::tuple<int> t(1, 2, 3); // std::tuple<int, int, int>
Run Code Online (Sandbox Code Playgroud)
然而,这种方式引入语法不会替代太好的"make_*"包装器(参见N3602),其中功能可供我们使用...
显然不是.P0091的介绍声称它确实如此,但实际的措辞却完全不同:
对应于类模板的模板名称,后跟带括号的表达式列表...
这排除了使用模板名称+一些参数和"括号表达式列表".在措辞的其他部分也有语法排除.
所以不,在推断其他论点时,不可能指定一些参数.