在 c++++ 函数模板中,使用 = defaultvalue 语法即可设定默认模板参数,当未指定具体参数值时将使用默认值。例如,templatevoid foo(t arr[]) 中,size 参数的默认值为 100。
C++ 函数模板中默认模板参数的设定方法
在 C++ 中,函数模板可以具有默认模板参数,当在实例化模板时未指定具体参数值时,这些默认值将被使用。这允许创建具有通用功能的灵活模板。
设定默认模板参数的语法
在函数模板声明中,使用 = defaultvalue 语法指定默认模板参数:
template<typename T, int Size = 100> void foo(T arr[]) { // 操作数组 arr,最大长度为 Size }
上述模板中,Size 参数的默认值设置为 100。
实战案例
考虑一个 printArray() 模板函数,用于打印数组中的元素:
#include <iostream> template<typename T, int Size = 10> void printArray(T arr[]) { for (int i = 0; i < Size; i++) { std::cout << arr[i] << " "; } std::cout << std::endl; } int main() { int arr[] = {1, 2, 3, 4, 5}; printArray(arr); // 使用默认参数 Size = 10 double arr2[] = {1.2, 2.3, 3.4}; printArray(arr2, 3); // 指定 Size 为 3 return 0; }
在这个例子中:
- printArray(arr) 隐式使用默认参数 Size = 10。
- printArray(arr2, 3) 显式指定 Size = 3。
输出:
1 2 3 4 5 1.2 2.3 3.4
以上就是C++ 函数模板中默认模板参数的设定方法?的详细内容,更多请关注知识资源分享宝库其它相关文章!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。