Size: a a a

2020 June 11

v

vehlwn in pro.cxx
Happy Jupiter
микрокод всему голова
Макрокод это что? Виртуальная джава машина?
источник

v

vehlwn in pro.cxx
Виртуальная петон машина?
источник

HJ

Happy Jupiter in pro.cxx
Ээ, нет)
источник

HJ

Happy Jupiter in pro.cxx
Однако благодаря микрокоду не каждая процессорная инструкция отражается напрямую в железе)
источник
2020 June 12

Ct

Casual tears in pro.cxx
https://godbolt.org/z/NuNgKB
Что прописать в концепте чтобы такую ошибку в компайлтайме поймать?
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Речь об assert?
источник

М

Михаил in pro.cxx
Привет. Скажите пожалуйста как мне изменить цвет одной строки в консоли? Нужно перекрасить именно самую первую строку.
источник

KS

Kepler’s Supernova in pro.cxx
Михаил
Привет. Скажите пожалуйста как мне изменить цвет одной строки в консоли? Нужно перекрасить именно самую первую строку.
ANSI SGR?
источник

KS

Kepler’s Supernova in pro.cxx
Вот с примером как выводить https://notes.burke.libbey.me/ansi-escape-codes/
источник

D

Danya in pro.cxx
Если речь про assert на 18 строке, то в С++20 никак. Потому что данная проверка никак не относится к концептам.
Потому что это контракт функции, а не концепт, которому тип должен удовлетворять.
Контрактов в С++ нет пока что.
источник

AD

Andrey Davydov in pro.cxx
источник

Ct

Casual tears in pro.cxx
Окей, span конечно проблему в данном кейсе решает, но мне более общее решение интересно. Как потребовать точное совпадение типов параметров функции?
источник

Ct

Casual tears in pro.cxx
Danya
Если речь про assert на 18 строке, то в С++20 никак. Потому что данная проверка никак не относится к концептам.
Потому что это контракт функции, а не концепт, которому тип должен удовлетворять.
Контрактов в С++ нет пока что.
Речь про то что цикл там бесконечный и вызов foo никогда не завершится, потому что 4096 - 0 неявно кастится к std::uint8_t и превращается в 0, а в концепте std::size_t
источник

AD

Andrey Davydov in pro.cxx
Casual tears
Окей, span конечно проблему в данном кейсе решает, но мне более общее решение интересно. Как потребовать точное совпадение типов параметров функции?
-Wconversion: https://godbolt.org/z/RFGUEc, другого способа я не знаю (ну и все-таки правильные типы выбирать, std::span, к примеру, они как раз для этого и существуют, чтобы ошибки ловить в compile time).
источник

Ct

Casual tears in pro.cxx
Andrey Davydov
-Wconversion: https://godbolt.org/z/RFGUEc, другого способа я не знаю (ну и все-таки правильные типы выбирать, std::span, к примеру, они как раз для этого и существуют, чтобы ошибки ловить в compile time).
Опираться на compiler-specific варнинги что-то не очень хочется. Span помогает в данном кейсе, в каком-нибудь другом похожем уже не поможет.
источник

m

magras in pro.cxx
Casual tears
Речь про то что цикл там бесконечный и вызов foo никогда не завершится, потому что 4096 - 0 неявно кастится к std::uint8_t и превращается в 0, а в концепте std::size_t
Если устраивает требование точного совпадения сигнатуры можно как-то так: https://godbolt.org/z/so2uDN
источник

AD

Andrey Davydov in pro.cxx
Casual tears
Опираться на compiler-specific варнинги что-то не очень хочется. Span помогает в данном кейсе, в каком-нибудь другом похожем уже не поможет.
Тогда выбирайте другой язык программирования. В C++ есть implicit conversion, это факт с которым надо смириться, концепты не могут "убрать" из языка эту фичу. Один класс конверсий, являющийся особо опасным -- narrowing -- компиляторы умеют детектить и кидаться ворнингами, есть proposal(ы), на то, чтобы добавить соотвествующий type trait: http://wg21.link/p0870.
источник

Ct

Casual tears in pro.cxx
https://godbolt.org/z/KERK6Z
Как теперь сделать чтобы TcpSocket проходил?
источник

Ct

Casual tears in pro.cxx
А, дак оно и с исправленным UdpSocket не работает: https://godbolt.org/z/bhDp4j
источник

Ct

Casual tears in pro.cxx
Andrey Davydov
Тогда выбирайте другой язык программирования. В C++ есть implicit conversion, это факт с которым надо смириться, концепты не могут "убрать" из языка эту фичу. Один класс конверсий, являющийся особо опасным -- narrowing -- компиляторы умеют детектить и кидаться ворнингами, есть proposal(ы), на то, чтобы добавить соотвествующий type trait: http://wg21.link/p0870.
Я хочу просто потребовать нормальной имплементации концепта от клиентского кода, а не implicit conversion из языка вырезать.
источник