gpt4 book ai didi

c++ - 返回可变数量标量的最大值的函数

转载 作者:行者123 更新时间:2023-11-28 00:23:00 25 4
gpt4 key购买 nike

我需要创建一个函数,将可变数量的标量作为输入并返回最大的一个。就像 std::max() 对 2 个元素所做的一样,但我需要它来处理未定义数量的元素,可以是 2、5 或 10 等。关于如何处理这个问题有什么建议吗?

我正在使用 Visual Studio 2010。我试过:

std::max({2, 8, 5, 3})

错误:没有重载函数“std::max”的实例匹配参数列表

std::vector<int> v {2, 8, 5, 3};

错误:应该是一个; (在 v 之后)

更重要的是,如果我将其放入一个函数中,我如何拥有可变数量的参数以及如何调用它们?我猜它应该以某种方式使用模板?


我需要它做什么:我正在处理一堆 vector 、 map 等,我需要找出哪些元素最多。所以我在想我应该以这样的方式结束

int biggest = max(vector1.size(), vector2.size(), map1.size(), ...);

最佳答案

使用std::max_element , 如果你有一个已经填充的容器

std::vector<int>::iterator it = std::max_element( vector1.begin(), vector1.end() );

否则使用普通数组,如下所示:

int a[] = {2, 8, 5, 3 }; // add whatever elements you want
int *pos = std::max_element( a, a+sizeof(a)/sizeof(a[0]) ) ;

关于c++ - 返回可变数量标量的最大值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26542880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com