我试图找出 max 或 min 函数如何在 STL 的 c++ 中工作的内置机制,以查找元素数组中的最大值或最小元素。
在 STL 中,它分别是 min_element
和 max_element
,它接受Iterator
作为参数类型而不是集合本身。它不被调用min
和max
,以防止与 CRT min
和max
函数/宏发生名称冲突。
这里有很好的记录:http://www.cplusplus.com/reference/algorithm/min_element/
请注意,Iterator
是各种类型(包括原始指针)的替身。
例:
int myints[] = {3,7,2,5,6,4,9};
std::cout << "The smallest element is " << *std::min_element( myints, myints+7 ) << 'n';