Size: a a a

2020 April 25

A

Alex in pro.cxx
и в GCC висит баг, что он не юзабелен в компайл тайм
источник

CD

Constantine Drozdov in pro.cxx
то есть я плохо понимаю, что должен вывести следующий код

constexpr int * f() {
   int x;
   return &x;
}
static_assert(f() == f());
источник

AT

Andrew Titov in pro.cxx
Constantine Drozdov
а что, взятие адреса разрешено в constexpr? давно?
Вспомним про constexpr new в C++20.
источник

CD

Constantine Drozdov in pro.cxx
Andrew Titov
Вспомним про constexpr new в C++20.
new это не взятие адреса, с ним все хорошо
источник

SE

Stanislav Ershov in pro.cxx
Alex
и в GCC висит баг, что он не юзабелен в компайл тайм
ну штош
источник

A

Alex in pro.cxx
я думаю, вручную это будет несложно написать через static_for, сдвиг и наложение маски же не запрещены в constexpr?
источник

AT

Andrew Titov in pro.cxx
Constantine Drozdov
new это не взятие адреса, с ним все хорошо
Ну, что там указатель, что там...

(На самом деле согласен с вами.)
источник

SE

Stanislav Ershov in pro.cxx
значит придется страдать, в msvc оно вполне constexpr :)
источник

CD

Constantine Drozdov in pro.cxx
Andrew Titov
Ну, что там указатель, что там...

(На самом деле согласен с вами.)
Ну на функцию тоже указатель :) new это все-таки чистый вызов
источник

CD

Constantine Drozdov in pro.cxx
Stanislav Ershov
значит придется страдать, в msvc оно вполне constexpr :)
__builtin_memcmp? я бы им предложил это депрекейтить, это очень может быть полное палево
источник

SE

Stanislav Ershov in pro.cxx
Constantine Drozdov
__builtin_memcmp? я бы им предложил это депрекейтить, это очень может быть полное палево
иди, разрешаю
источник

CD

Constantine Drozdov in pro.cxx
Stanislav Ershov
иди, разрешаю
ну представь, что у тебя битовые представления разные на разных платформах, у тебя memcmp выполняется по битовому представлению какой платформы? компилирующей? результирующей?
источник

CD

Constantine Drozdov in pro.cxx
они уже, скажем, подсели на эмуляцию endianness
источник

A

Alex in pro.cxx
я бы жег огнём эти "разные платформы", из-за которых байт может быть не 8 бит, и прочие извращения
источник

r

rbykov in pro.cxx
Alex
я бы жег огнём эти "разные платформы", из-за которых байт может быть не 8 бит, и прочие извращения
А на каких платформах байт не равен 8 бит?
источник

A

Alex in pro.cxx
я таких не знаю, но С++ считает, что такое может быть
источник

A

Alex in pro.cxx
и char может быть не 8 бит
источник

SE

Stanislav Ershov in pro.cxx
rbykov
А на каких платформах байт не равен 8 бит?
dsp всякие
источник

A

Alex in pro.cxx
так же и с endiannes, уже б выпилить и забыть как страшный сон
источник

A

Alex in pro.cxx
если С перестанет нормально работать на таких процах, вендоры перестанут выпускать такую фигню
источник