Size: a a a

2020 August 13

DV

Dmitry Vedenko in supapro.cxx
но потом выросла борода и я понял, что это все херня)
источник

AP

Alexander Potapov in supapro.cxx
Не можно конечно делать через неё конкатенацию индексов, типо A[2idx, 3idx] будет преобразовываться в правильный индекс. Но именно в этом случае хотят её задепрекейтить, чтобы это на уровне компилятора правильно передавалось в оператор как несколько аргументов
источник

VS

Vladimir Suisei in supapro.cxx
Можно ли как-то избежать уб при конвертации из инта в енум?
источник

VS

Vladimir Suisei in supapro.cxx
Хорошая ли идея сделать констекспр шаблонную функцию которая будет принимать в себя инт, а внутри возвращать текстовое представление енума?
Я верно понимаю, что в итоге при компиляции в местах, где вызывается констэкспр функция, она будет посчитана заранее и подставлен результат вычисления в место вызова?
Т.е. по сути как макрос
источник

VS

Vladimir Suisei in supapro.cxx
Хотя не, как он может посчитать констекспр что-то если параметр определяется в рантайме
источник

LA

Liber Azerate in supapro.cxx
Vladimir Suisei
Хорошая ли идея сделать констекспр шаблонную функцию которая будет принимать в себя инт, а внутри возвращать текстовое представление енума?
Я верно понимаю, что в итоге при компиляции в местах, где вызывается констэкспр функция, она будет посчитана заранее и подставлен результат вычисления в место вызова?
Т.е. по сути как макрос
Звучит как что-то странное. Если она всегда принимает инт, зачем шаблон? Констекспр != макрос, просто выражение времени компиляции. То есть да, если все выражения, с которыми функция работает и т.д. констекспр, то и результат будет таким. А вообще, звучит как чисто практический кейс, который надо просто попробовать
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Можно ли как-то избежать уб при конвертации из инта в енум?
Можно, надо проверить, что int входит в enum
источник

VS

Vladimir Suisei in supapro.cxx
Liber Azerate
Звучит как что-то странное. Если она всегда принимает инт, зачем шаблон? Констекспр != макрос, просто выражение времени компиляции. То есть да, если все выражения, с которыми функция работает и т.д. констекспр, то и результат будет таким. А вообще, звучит как чисто практический кейс, который надо просто попробовать
Ну оно компилится вроде, но я так понимаю констекспр просто работать не будет? Я верно понимаю что это просто указание компилятору попытаться все сделать в компайл, и если не вышло, то это обычная функция?
источник

LA

Liber Azerate in supapro.cxx
Vladimir Suisei
Ну оно компилится вроде, но я так понимаю констекспр просто работать не будет? Я верно понимаю что это просто указание компилятору попытаться все сделать в компайл, и если не вышло, то это обычная функция?
Да
источник

VS

Vladimir Suisei in supapro.cxx
Побитый Кирпич
Можно, надо проверить, что int входит в enum
Это как
источник

LA

Liber Azerate in supapro.cxx
Vladimir Suisei
Это как
Какой диапазон у перечисления?
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Это как
Ну каждая константа в енуме имеет своё значение числовое. Ты должен проверить, что твой int хотя бы одно из этих значений
источник

VS

Vladimir Suisei in supapro.cxx
Я не хочу отдельно быть в курсе диапозона значений и самостоятельно проверять
источник

VS

Vladimir Suisei in supapro.cxx
Почему он не может автоматически понять что требуемого числа нет в енуме
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Почему он не может автоматически понять что требуемого числа нет в енуме
Как он это поймёт если число в рантайме приходит?
источник

VS

Vladimir Suisei in supapro.cxx
Это же известная инфа во время компиляции, какие значения енумов есть
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Это же известная инфа во время компиляции, какие значения енумов есть
Да, но проверять то надо явно
источник

AP

Alexander Potapov in supapro.cxx
Енум вообще после компиляции не существует
источник

AP

Alexander Potapov in supapro.cxx
Просто на его место поставляются числовые константы
источник

AF

Aidar Fattakhov in supapro.cxx
Vladimir Suisei
Это же известная инфа во время компиляции, какие значения енумов есть
для компилятора да, для си++ нет
источник