vladislav
MT Radio
Vsevolod
я даже где-то делал static assert на это, потому что иначе ну ни хера ж не работает
Vladislav
Vsevolod
вроде, на pdp11 function pointer был больше по размеру, чем void *
Vsevolod
еще что-то припоминаю из раздела farcall в досе, но тут надо мануал почитать
Surreal
Если бы я получил такую задачу на собеседовании, ушел бы.
Стандартная тема же, вроде (хотя я только недавно столкнулся, но вот и в чате сразу увидел). Типа virtual default argument, pure virtual method body и пр. Есть гораздо более глубокие и непонятные вещи. На http://cppquiz.org можно позалипать.
MT Radio
Anton
Подписывать надо exe :)
Anton
https://tproger.ru/news/most-popular-ide-for-c-cpp-2018/amp/
Alexander "SonnySlave"
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0907r0.html
Berkus
чо, вас опять implicit conversions покусали?
vladislav
🐙 Antony
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0907r0.html
Он упустил самый важный момент в бумаге: как это влияет на производительность?
До этого компиляторы могли полагаться на то, что знаковое переполнение - это UB и генерировали код который рассчитывал на то, что переполнение не случится.
С этой бумагой всё меняется...
Alexander "SonnySlave"
Andrei
Matway
"Let’s stop pretending...", "...few people spell "ones' complement" correctly..." - радикальный чувак.
🐙 Antony
Примеры оптимизаций:
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52560
* Еще семь страниц выдачи по запросу site:gcc.gnu.org/bugzilla signed overflow missed optimization
Andrei
🐙 Antony
Более того, в WG21 недавно ходила дурная идея сделать так, чтобы size() возвращал int. В этом случае можно получить небольшой выигрыш в производительности как раз за счёт того, что стандарт гарантирует UB в случае signed переполнения
Berkus
🐙 Antony
Да наоборот, такую дурь не пропускают, всё хорошо :)
давайте лучше яву похороним! Благо и замена есть
Berkus
Berkus
хотя вейт, я ее практически похоронил - 75% кода на котлине уже
Matway
vladislav
Berkus
Код работает в 1000 раз быстрее... правда такую хуйню делает
vladislav
IharOK
Matway
сила для любителей прострелить себе ногу)
Надо просто уметь готовить. UB - это механизм отложенных платежей. Платить надо только один раз и только в нужном месте. Если правильно готовить UB, об него не споткнёшься.
IharOK
🐙 Antony
Alexander "SonnySlave"
правильно готовить UB... хм, звучит как-то херово
Matway
Давайте пример приведу, что-ли.
IharOK
IharOK
vladislav
Andrei
Я думаю сейчас иллюстрирующий пример будет.
Alexander "SonnySlave"
вот обсуждения тред: https://groups.google.com/a/isocpp.org/forum/#!msg/std-proposals/MZzCyAL1qRo/AIImKDx7AgAJ
Крылатый
Крылатый
Крылатый
Со всей тяжестью на душе принимаю тяжкие решения по экстерминатусу кода, поражённого скверной.
Andrei
А я бы вообще никого не взял, потому что у меня работы нет.
Matway
https://ideone.com/t6ZRHw
В Джаве мы бы заплатили во всех четвырёх функциях. C++ позволяет заплатить только в одной.
Крылатый
Alexander "SonnySlave"
Alexander "SonnySlave"
пользу UB расписываешь что ли?
Alexander "SonnySlave"
чатик, здесь кто-то отрицает полезность отсутствия проверки на границы массива во время обращения к элементам массива?
IharOK
так никто и не понял, что хотел сказать чувак
IharOK
горе от ума случилось?)
Dr. Friedrich
Alexander "SonnySlave"
Dr. Friedrich
Более того, для исключения проверок тебе тут throw не нужен :)
Alexander "SonnySlave"
IharOK
уб - хорошо как следствие наличия определенной свободы действий, что есть тоже хорошо, я так понял и это логично, а говорил он про проектирование приложения
IharOK
а не проектирование уб
Matway
Alexander "SonnySlave"
Andrei
и что ты хотел этим сказать?
По-моему комментарий недвузначно говорит, что хотел сказать автор. В джаве мы заплатим дополнительными проверками.
Dr. Friedrich
Dr. Friedrich
В смысле, там же эксепшен сразу.
Matway
ну если вызвать getThird, то чистой воды UB
А надо контракт к нему прочитать. Плюсы позволяют, используя контракты, не платить там, где это не нужно. Причём гарантированно не платить, а не надеяться на хитрый компилятор.
Dr. Friedrich
Berkus
Dr. Friedrich
Вон у тебя и в плюсах проверка.
IharOK
что не определено по стандарту - сам разрулил
IharOK
вот в чем прелесть