Требование у функции в C++
Ограничение у функции задают в списке
шаблонных параметров или через auto
с концептом в типе аргумента.
Концепт объявляют на уровне файла и в этом
файле задают заново для автономности примера.
Запишем
Addable и функцию с параметром
Addable auto, затем выведем удвоенное
значение:
#include <iostream>
template<typename T>
concept Addable = requires(T a, T b) {
a + b;
};
int bump(Addable auto value) {
return value + value;
}
int main() {
std::cout << bump(7) << "\n";
return 0;
}
Снова объявите Addable. Напишите
шаблон template<Addable T> T scale(T x),
возвращающий x + x + x. Выведите
результат для 3.
Объявите функцию long total(Addable auto a, Addable auto b)
и выведите ее результат для двух long
со значениями 12 и 30.