Это не статическое распределение, а автоматическое распределение (ваши переменные являются локальными). Статическое выделение - для локальных и локальных переменных (файловой области) для static
.
Тем не менее динамическое распределение никогда не быстрее. В C и C++ это системный вызов, который медленный.
Даже если бы это было не так медленно, автоматическое и статическое распределение мгновенное. Статическое распределение происходит при запуске программы и просто зарезервировано для вашего процесса в OS. Автоматическое распределение - это только указатель стека, идущий на несколько байтов, когда вы вызываете вашу функцию. В любом случае, ничего больше (процессор-мудрый), чем если бы вы не выделили вашу переменную.
_Автоматическое распределение - это всего лишь указатель stac, идущий на несколько байт выше_ - обычно стек растет, от высоких адресов до нижних. –
Я никогда не задумываюсь об этом, но концептуально стек всегда растет «вверх» (если вы не кладете вещи на свой потолок);) – Quentin
Ну, указатель _stac, идущий на несколько байт выше_, довольно конкретный и неточный. В документации по документации Intel отображаются как нижние адреса внизу, так и верхние адреса вверху. –