Просто любопытно. Как работает функция Sleep() (объявленная в windows.h)? Может быть, не только эта реализация, но и все. Что я имею в виду - как это реализовано? Как это сделать код "остановить" в течение определенного времени? Также любопытно, как cin → и те действительно работают. Что они делают точно?
Единственный способ, которым я знаю, как "блокировать" что-то от продолжения работы, - это цикл while, но учитывая, что это требует огромной вычислительной мощности по сравнению с тем, что происходит, когда вы вызываете методы чтения из stdin (просто сравните некоторое время (правда) с чтением из stdin), я предполагаю, что это не то, что они делают.