欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

[C++11]函数模板的默认模板参数

发布时间:2023/12/4 c/c++ 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [C++11]函数模板的默认模板参数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在C++11中添加了对函数模板默认参数的支持。

代码如下:

#include<iostream> using namespace std;template<typename T = long ,typename U = int > void myTest(T t = 'A',U u = 'B') {cout << "t = " << t << " u = " << u << endl; }int main() {myTest('a', 'b');//自动推导,根据传递的实参myTest<int>('a', 'b');myTest<char>('a', 'b');myTest<int, char>('a', 'b');myTest<char, int>('a', 'b');myTest();return 0; }

测试结果:

默认的函数参数不能用于类型推导。

代码如下:

#include<iostream> using namespace std;template<typename T ,typename U > void myTest(T t = 'A',U u = 'B') {cout << "t = " << t << " u = " << u << endl; }int main() {myTest();//errorreturn 0; }

类模板可以有默认的模板参数。

代码如下:

#include <iostream> using namespace std;template<typename T = int ,T t = 520> class Test { public:void print(){cout << "value = " << t << endl;} };int main() {Test<> t;//记得写<>t.print();return 0; }

测试结果:

总结

以上是生活随笔为你收集整理的[C++11]函数模板的默认模板参数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。