Добавил:
Рад, если кому-то помог Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
01.11.2025
Размер:
966 б
Скачать
#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