170 похожих чатов

Template<Class, class Key = void> class Type { void perform_key_action()

{
static_assert(!std::is_same_v<Key, void>, "no key");
key().method();
}
}
Что поменяется с отсутствием Статик ассерта? Если у нас этот метод никак расширяться не может и точек кастомищации 0

3 ответов

5 просмотров

>> Что поменяется с отсутствием Статик ассерта? Вы неверно поняли мою мысль. Нужно не static_assert убрать, а добавить адекватную проверку входных данных — концепты. В крайнем случае повесить SFINAE на perform_key_action, чтобы ошибки отлавливались в сигнатуре, а не отложенно через static_assert. Потому что отложенная проверка хоть и позволяет написать читаемое сообщение с ошибкой, но имеет ряд проблем как, например, приведённый пример выше

Слава- Автор вопроса
Ofee Oficsu
>> Что поменяется с отсутствием Статик ассерта? В...

Так к каким ошибкам в данном случае это приведет, если это по сути проверка инврианта

Слава
Так к каким ошибкам в данном случае это приведет, ...

Из приведённого выше примера — это не так, и проверка полностью зависит от входных данных (предоставления/не предоставления пользователем Key). Правильный вариант решения — и вовсе убрать дефолтный параметр, тогда никаких проверок и не нужно. Но если же это какая-то полностью приватная часть библиотеки, лежащая в mylib::detail::, и пользователь никогда с ней не взаимодействует, то так, пожалуй, можно сделать

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Кто создает тут ботов для телеграмм групп ?
Antskup
8
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
2
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Карта сайта