php中文网

C++ 函数模板中默认模板参数的设定方法?

php中文网

在 c++++ 函数模板中,使用 = defaultvalue 语法即可设定默认模板参数,当未指定具体参数值时将使用默认值。例如,templatevoid foo(t arr[]) 中,size 参数的默认值为 100。

C++ 函数模板中默认模板参数的设定方法

在 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++ 函数模板中默认模板参数的设定方法?的详细内容,更多请关注php中文网其它相关文章!