Именованное требование в C++
Имя концепта связывают с шаблонным
параметром через ключевое слово concept.
Тело часто строят на requires-выражении:
компилятор пробует записать указанные операции
с объектами типа T. Объявим
Addable и выведем сумму двух целых
через шаблонную функцию:
#include <iostream>
template<typename T>
concept Addable = requires(T a, T b) {
a + b;
};
template<Addable T>
T add_pair(T left, T right) {
return left + right;
}
int main() {
std::cout << add_pair(4, 9) << "\n";
return 0;
}
Объявите концепт Addable для типа
T по сложению. Напишите шаблон
merge, складывающий два double,
и выведите результат для 1.5 и 2.5.