Иногда прибегая к «виду дизассемблирования» кода C ++ и переходя к оптимизированному выпуску x86, вы получаете представление о том, что происходит. Обратите особое внимание на вызовы функций (много раз те, которые не могут быть оптимизированы), и кодируйте вокруг этих вызовов - до и после, и регистрируйте использование (много раз переменные оптимизируются в аппаратные регистры).
Независимо от того, работает это или нет, вы немного узнаете о сборке x86, оптимизации компилятора и о том, как на самом деле реализован C ++!