Size: a a a

2020 July 17

d

disba1ancer in supapro.cxx
NONE
Есть у меня допустим константный метод, почему собсно модификатор const должен стоять после аргументов и перед телом функции?
ну а куда ещё? он же, грубо говоря, на неявно передаваемый this навешивается
источник

a

anton in supapro.cxx
o/ а можно использовать вот такую конструкцию вместо enum: https://pastebin.com/196tT4RJ
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
disba1ancer
ну а куда ещё? он же, грубо говоря, на неявно передаваемый this навешивается
Навешивание не связано с синтаксисом
источник

d

disba1ancer in supapro.cxx
Artöm Bakri Al-Sarmini
Навешивание не связано с синтаксисом
я ранее сказанного не отрицал
источник

d

disba1ancer in supapro.cxx
anton
o/ а можно использовать вот такую конструкцию вместо enum: https://pastebin.com/196tT4RJ
оверхеда много
источник

N

NONE in supapro.cxx
До меня не доходит логика, почему функции объявляются как const void func(), а метод void func() const. По идее удобней был бы одинаковый прототип
источник

a

anton in supapro.cxx
disba1ancer
оверхеда много
констэкспр же?
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
NONE
До меня не доходит логика, почему функции объявляются как const void func(), а метод void func() const. По идее удобней был бы одинаковый прототип
Это разный конст. В типе возврата он квалифицирует собственно тип возврата
источник

d

disba1ancer in supapro.cxx
anton
констэкспр же?
всё равно оверхед, не в рантайме так на этапе компиляции
источник

N

NONE in supapro.cxx
Artöm Bakri Al-Sarmini
Это разный конст. В типе возврата он квалифицирует собственно тип возврата
Дошло, спасиб
источник

ПК

Побитый Кирпич... in supapro.cxx
anton
констэкспр же?
constexpr функция не гарантирует, что нет вызова в рантайме
источник

a

anton in supapro.cxx
Побитый Кирпич
constexpr функция не гарантирует, что нет вызова в рантайме
но есть же наверное какие-то условия, при которых таки гарантирует?
источник

ПК

Побитый Кирпич... in supapro.cxx
anton
но есть же наверное какие-то условия, при которых таки гарантирует?
Да, есть. Результат должен быть использован в constexpr контексте
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Выражение в кейсе это констекспр контекст
источник

a

anton in supapro.cxx
не могу нагуглить, что есть констэкспр контекст
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
источник

a

anton in supapro.cxx
Спасибо! Я дико извиняюсь, но не могу найти, где упоминается, про то, что использование результата функции в каком-либо контексте влияет на её "констэкспрность"
источник

D

Danya in supapro.cxx
anton
Спасибо! Я дико извиняюсь, но не могу найти, где упоминается, про то, что использование результата функции в каком-либо контексте влияет на её "констэкспрность"
Просто поверь 😂
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
anton
Спасибо! Я дико извиняюсь, но не могу найти, где упоминается, про то, что использование результата функции в каком-либо контексте влияет на её "констэкспрность"
Вызов констекспр функции вне констекспр контекста не обязывает компилятор считать ее в компильтайме
источник

ПК

Побитый Кирпич... in supapro.cxx
anton
Спасибо! Я дико извиняюсь, но не могу найти, где упоминается, про то, что использование результата функции в каком-либо контексте влияет на её "констэкспрность"
constexpr на функции только накладывает на её тело требования и помечает её как "возможную для выполнения на этапе компиляции". Компилятор может основываться на этом при оптимизации, но гарантированно вычисляет он только constexpr выражения.
источник