Как с помощью шаблонов проверить, что два числа равны?

Для проверки равенства двух чисел с использованием шаблонов в C++, можно написать функцию-шаблон, которая будет принимать два аргумента и сравнивать их значения.

Вот пример кода, который демонстрирует эту идею:

#include <iostream>

template <typename T>
bool areEqual(T a, T b)
{
    return a == b;
}

int main()
{
    int num1 = 5;
    int num2 = 5;
    
    float num3 = 7.5;
    float num4 = 10.2;
    
    std::cout << "Numbers " << num1 << " and " << num2 << " are ";
    if (areEqual(num1, num2))
    {
        std::cout << "equal." << std::endl;
    }
    else
    {
        std::cout << "not equal." << std::endl;
    }
    
    std::cout << "Numbers " << num3 << " and " << num4 << " are ";
    if (areEqual(num3, num4))
    {
        std::cout << "equal." << std::endl;
    }
    else
    {
        std::cout << "not equal." << std::endl;
    }
    
    return 0;
}

В этом примере мы определяем функцию-шаблон areEqual, которая принимает два аргумента типа T. Функция сравнивает эти два значения с помощью оператора == и возвращает результат сравнения.

Затем мы используем эту функцию для сравнения двух чисел разных типов: целочисленного и вещественного. Результаты сравнения выводятся на экран.

В результате выполнения этого программного кода вы увидите следующий вывод:

Numbers 5 and 5 are equal.
Numbers 7.5 and 10.2 are not equal.

Таким образом, с помощью шаблонов в C++ можно легко проверить равенство двух чисел разных типов. Использование шаблонов позволяет нам обобщить код и писать универсальные функции, работающие с различными типами данных.