c++03の知識で止まっていたので懺悔のメモ。
std::min
, std::max
, std::minmax
で3要素以上にわたる演算をしたい場合は、std::initializer_list<T>
型を引数に取るオーバーロードを用いればよい。
#include <algorithm>
#include <iostream>
int main() {
std::cout << std::max({3, 3, 4}) << std::endl;
// => 4
int x = 2;
int y = 6;
int z = 4;
std::cout << std::min({x, y, z}) << std::endl;
// => 2
}