我在《Effective Modern C++》一书的第189页看到过这样的表达:
template<typename T,
typename = typename std::enable_if<condition>::type>
explicit Person(T&& n);
我只是想知道这部分是什么”typename =
“意思是。它看起来确实像是模板参数的默认参数。但是您不需要类似的东西吗?”typename some_name = ...
“在默认参数中?第二个模板参数没有名称,并且我没有看到在这种情况下使用第二个模板参数。
附:当我在谷歌(或任何其他搜索引擎)上搜索答案时,等号总是被丢弃,这使得找到答案几乎不可能......
这是一个可选的模板参数,没有名称和默认值。
它用于应用enable_if
健康)状况;如果不满足条件,它将产生编译器错误。
您可以对普通方法参数使用完全相同的语法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)