Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpCoRf 431 of 696 menu
◀ ▶

Более сильное требование в C++

Новый концепт можно собрать из стандартных проверок и логического &&.

Так получают более узкое имя требования без повторения длинных записей в каждой функции. Подключите #include <concepts>, зададим SignedInt и выведем модуль числа:

#include <concepts> #include <iostream> template<typename T> concept SignedInt = std::integral<T> && std::is_signed_v<T>; template<SignedInt T> T abs_value(T value) { return value < 0 ? -value : value; } int main() { std::cout << abs_value(-17) << "\n"; return 0; }

Объявите UnsignedInt как std::integral<T> && std::is_unsigned_v<T>. Напишите шаблон double_it для unsigned и выведите удвоенное 11.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить