Добавил:
vvrstcnho
Рад, если кому-то помог
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы С++ (для ИВТ) / Готовые лабы С++ / Лаба8 / Laba 8 (4)
.cpp#include <iostream>
#include <locale>
using namespace std;
template <class T>
T max(T& x, T& y) {
return x > y ? x : y;
}
int main() {
setlocale(LC_ALL, "ru_RU.UTF-8");
int a = 5, b = 10;
double c = 3.14, d = 2.71;
cout << "max(a, b) = " << max(a, b) << endl; // OK: T = int
cout << "max(c, d) = " << max(c, d) << endl; // OK: T = double
// Проблемные случаи:
// max(a, c); // Ошибка: разные типы T
// max(5, 10); // Ошибка: rvalue ссылки
cout << "\nКомментарий:" << endl;
cout << "1. Функция работает только с одинаковыми типами" << endl;
cout << "2. Не работает с rvalue (временными значениями)" << endl;
cout << "3. Лучше использовать const T& для параметров" << endl;
return 0;
}
Соседние файлы в папке Лаба8
