C++ 函数泛型的创建和使用
引言
函数泛型是 C++ 中一种强大的工具,它允许我们创建可接受不同类型参数的函数。这使得我们可以编写更加通用和可重用的代码。
创建函数泛型
要创建一个函数泛型,我们需要使用 auto 和 -> 关键字。例如:
auto add = [](int a, int b) { return a + b; };
上面的代码创建了一个 lambda 函数(匿名函数),它将两个整数相加。我们可以通过将其分配给一个变量或传递给其他函数来使用它。
立即学习“C++免费学习笔记(深入)”;
泛型 lambda 表达式
我们可以使用 template 关键字创建泛型 lambda 表达式。语法如下:
template <typename T> auto add = [](T a, T b) { return a + b; };
上面的代码创建一个通用函数泛型,它可以接受任何类型 T 的参数并返回该类型的总和。
实战案例
让我们使用我们创建的函数泛型来查找一个数组中最大元素:
#include <algorithm> #include <vector> int main() { std::vector<int> numbers = {1, 5, 2, 6, 3}; int max_element = *std::max_element(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; }); std::cout << "Maximum element: " << max_element << std::endl; return 0; }
在这个例子中,我们使用 std::max_element 函数找到数组中的最大元素。我们传递了一个函数泛型作为第三个参数,该泛型比较两个整数的大小。
以上就是C++ 函数泛型的创建和使用的详细内容,更多请关注本网内其它相关文章!