Как я могу определить, какие понятия использовать для шаблонов 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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