Для создания обобщенной функции сортировки в C++, которая может работать с различными типами данных без дублирования кода, используется механизм шаблонов функций.
Шаблоны функций позволяют писать код, который будет работать с любыми типами данных, указанными при вызове функции. Это достигается за счет того, что тип данных передается в качестве параметра шаблона.
Пример:
template <typename T>
void sortArray(T arr[], int size) {
// Логика сортировки массива типа T
}
В данном случае T — это параметр шаблона, который может быть заменен на int, double, std::string или любой другой тип.
Почему другие варианты не подходят:
void* позволяет хранить адрес любого типа данных, но требует явного приведения типов при работе с данными, что также может привести к ошибкам и усложняет универсальную обработку.Ответ: Шаблон функции