Несколько параметров типа в C++
В списке шаблона можно перечислить несколько параметров типа через запятую, если логика функции зависит от более чем одного типа.
Каждая буква в template<typename A, typename B>
задает отдельный слот, который компилятор
заполняет при выводе или по явному указанию.
Запишем функцию, складывающую два значения
разных типов, и выведем сумму целого и дробного:
#include <iostream>
template<typename A, typename B>
auto mix(A left, B right) {
return left + right;
}
int main() {
std::cout << mix(2, 0.5) << "\n";
return 0;
}
Объявите шаблон pairTag с параметрами
A и B, возвращающий строку
"ok" при любом наборе аргументов.
Вызовите его с int и double
и выведите результат.
Сделайте шаблон firstVal с двумя
типами, который возвращает только первый
аргумент. Передайте "x" и 0
и выведите ответ.