Don Kaban: Тут можно напороться на слишком мелкий dt и утонуть в погрешностях. Можно комбинировать оба варианта - пока dt относительно большой, нормировать на него, а если компьютер оказался слишком шустрым - начинать делать задержки.
Юрий: Это мелочь - нужна для того, чтобы частота кадров не увеличивалась при слишком "простых" сценах. В начале каждой итерации нужно взводить таемер, скажем, на 30ms, и если к концу итерации таймер все еще тикает - ждать, пока он дойдет до конца.
Это позволит выдать всегда не более 33.(3) кадров в секунду, что будет восприниматься как более "гладкая" визуализация.
Ничего, что под отладчиком генерируется СААААвершенно другой код, в котором отсутствуют, например, оптимизации, зато присутствуют отладочные версии вызовов?
Уж если ловить, то с профилировщиком.
И последнее - упрощенчество в программировании недопустимо.
То, что здесь написано - почти эталонный код на C++. Если ваше "пишите проще" эквивалентно "Пишите на C++ как на C с классами", стоит задуматься.
Денис: Учитывая наличие батарейки, делаем вывод о наличии часов - он скорее всего считает наработку, а счетчик сбрасывает контакт в колодце для картриджа.
Батарейки отдельно может и не быть - в таком случае, она будет частью "пузатой" микросхемы. Срок работы таких микросхем - три-пять лет. В дальнейшем, вероятен полный выход утюга из строя из-за севшей батарейки.
Денис: Главный вопрос - как оно определяет, что картридж поменяли? Как в инструкции описана замена картриджа? Вы уверены, что внутри емкости, где кипятится вода, нет контактов? Единственный способ это узнать - развинтить практически весь утюг.
Don Kaban: "Пишу на C++ как на C" - девиз многих "преподавателей". Все беды от того, что они считают, что С++ - это такой С, только с классами.
На С++ кучу студенческих задач можно решить средствами STL (кто бы его еще студентам рассказывал) и алгоритмов в чисто процедурном стиле, не написав ни единого класса.