Параметр std::initializer_list в C++
Функция может объявить параметр типа std::initializer_list и получить произвольное число аргументов в одном вызове.
При вызове с фигурным списком компилятор создает временный список и передает его в функцию. Запишем функцию суммы и выведем результат для трех чисел:
#include <iostream>
#include <initializer_list>
int sum_all(std::initializer_list<int> items) {
int total = 0;
for (int x : items) {
total += x;
}
return total;
}
int main() {
std::cout << sum_all({1, 2, 3}) << "\n";
return 0;
}
Тело функции обходит элементы так же, как локальная переменная-список. Пустой фигурный список дает длину ноль.
Напишите функцию max_of с параметром
std::initializer_list<int>, которая
возвращает наибольший элемент. В main
выведите результат для 3, 9, 1.