14446
Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981
я когда дебагаю вещи в которых у меня даже принта толком нет, иногда использую while (1); для дебага, если зависло, значит дошли до этого места в коде %)
А сайд эффект это что-то, что изменяет хоть что-то в мире
Там сисколлы, указатели поменять, чо угодно
Но если инты просто складывать, то уб будет
а ещё сиди доказывай компилятору (volatile) что это не просто случайный адрес в памяти, а моторчик
важное уточнение что не любой пустой цикл, а цикл, который "ничего не делает", ну т.е. не обязательно пустой, но ситуация специфичная да.
Читать полностью…
ну чисто технически программа может работать бесконечно пока ее не прибьют снаружи
Читать полностью…
разница наверное есть, но как по мне тонкая как между шампанским и игристым вином 🌚
Читать полностью…
а для импл дефайнед получается должны, ну тут разница есть
Читать полностью…
ну т.е. разработчики компилятора не обязаны определять и документировать поведение для каждого случая UB
Читать полностью…
или это просто классификатор, от которого предлагают плясать разработчикам компилятора?
Читать полностью…
undefined behavior \ unspecified behavior \ impl. defined behavior определяется стандартом
Читать полностью…
и уб определяется по спеке или по документации конкретного компилятора?
Читать полностью…
оно еще и после С++11 поменялось, раньше тривиальный бесконечный цикл был UB а сейчас уже нет
Читать полностью…
Там все сложнее... короче ноги отсюда растут
https://en.cppreference.com/cpp/language/multithread#Progress_guarantee
Сайд эффекты емнип важны. Пустой цикл без сайд эффектов уб
Читать полностью…
с точки зрения логики такие циклы действительно бессмысленны и не должны существовать.
Читать полностью…
ну это тоже что то из ебанутых случаев. какие выходы из бесконечных циклов
Читать полностью…
ну например см. статью выше, бесконечный цикл без условия выхода это UB, разработчики компилятора могли бы сказать "окей, мы для всех таких циклов генерируем такой же код с безусловным переходом в начало и все" а могут и сделать вид что таких циклов не бывает, в последнем случае мы увидим ситуацию из примера из статьи, когда в результате вызвался код, который в программе нигде вообще не вызывался.
Читать полностью…
ну юзверям жить с неопределенностью как таковой, а вот конкретная дока выбирает че ей самой делать
Читать полностью…
ну вот если у нас на руках уб по спеке, его задокументировали в доке компилятора, то это же уже не уб
Читать полностью…
в случае с impl. defined мы можем предположить основываясь на документации каким будет поведение программы в результате.
в случае с UB мы можем определить только эмпирически.
как определить что перед тобой, если не дали спеку в руки?
Читать полностью…