В стеке процессора нажмите mov, pop и так далее - отдельные инструкции.
При компиляции исходного кода компилятор генерирует одну версию машинной инструкции, но во время выполнения, предполагая, что стек ... ну, обычный контейнер стека, доступ к значениям, хранящимся в стеке во время выполнения, принимает функциювызовы, которые переводят в тонны машинного кода.
Можно достичь того же уровня эффективности для динамических объектов времени выполнения вместо использования функций-членов set и get, которые намного длиннее одной машинной инструкции?
Моя идея заключается в использовании указателя метки, но я не знаю, как буквально поместить его значение в область памяти или область памяти во время выполнения, не прибегая к вызовам функций.
Встраиваемая сборка, вероятно, является вариантом, который я бы хотел избежать, если это возможно.Но, думаю, мне все равно придется поместить его в тело функции, чтобы оно не было ни одной инструкцией.