Как я могу определить, какие понятия использовать для шаблонов C ++?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу определить, какие понятия использовать для шаблонов C ++?

Сообщение Anonymous »

Я изо всех сил пытаюсь понять, как выбрать концептуальные ограничения для использования для функции шаблона. Рассмотрим этот пример: < /p>

Код: Выделить всё

#include 
#include 

template 
auto get_range(const std::vector& v) -> T
{
const auto [low, high] = std::ranges::minmax_element(v);
return *high - *low;
}
Из немедленного наблюдения T должен поддержать оператор-(const t2 & b) . Скорее всего, я могу предположить, что T должен поддержать хотя бы оператор для std :: ranges :: minmax_element , но становится все труднее сделать предположения для более сложных стандартных алгоритмов. Когда я смотрю на концепции cppreference, также не интуитивно понятно, какие понятия я даже могу выбрать, чтобы поддержать операторов, которых я идентифицировал.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -templates

Вернуться в «C++»