模板元编程技法 std::function deduction guides && SFINAE more [TOC] 类模板实参推导 C++17支持类模板类型推导(class template argument deduction,在下面的文章中,我叫做CTAD)。 而我们在很久之前就有了template argument deduction,但是只能用于函数,这多少有点不公平。 此篇博客的内容来自cppcon2018_CTAD 。 //...
可以定义特定的推导引导(deduction guides)来提供额外的或者修正现有类模板实参推导。比如任何传递一个字符串常量或者C字符串时,定义Stack的模板参数初始化为std::string: Stack(charconst*)->Stack<std::string>; 该引导出现在和类定义相同的范围和命名空间中。通常紧跟在在类定义之后。跟在符号->之后的类型称为引...
C++23 是一个几乎没有改动模板的标准版本,这和以前的版本很不一样。我原来甚至想说“完全没有”,但检查后发现还是有一个模板相关特性在 C++23(P2582R1 继承构造函数的类模板实参推导)。 发布于 2023-01-17 13:50・IP 属地广东 分享 收藏 ...