Мы смешиваем уровень спецификации языка и реализацию вашей программы в машинном коде.Два термина «регистр» здесь только слабо связаны.
Формулировка ключевого слова register
просто сбивает с толку, неправильно.register
только означает, что вам не разрешено брать адрес такой переменной.Независимо от того, реализует ли ваш компилятор переменную в стеке и обращается ли она непосредственно или сохраняет ее в регистре ЦП, нет ничего стабильного, на что вы можете положиться.Это изменится от компилятора к версии компилятора и уровню оптимизации.
Как говорили другие, вы можете прочитать ассемблер, чтобы узнать для конкретной компиляции, если вы заинтересованы в микрооптимизации, но в целом это не то, что вам следуетдаже беспокоиться о.