Встраиваемые типы, такие как int, char и т. Д., Могут быть возвращены из функции с использованием регистров, но что, если функция возвращает некоторый большой объект. Я предлагаю, чтобы стек процесса не мог использоваться для такой проблемы, верно? Может ли кто-нибудь объяснить, как объект передается вызываемому?C++ как объект-значение возвращается из функции в деталях
SomeObj function() {
SomeObj someObj;
return someObj;
}
Почему бы стек не работать ?! Пределы стека зависят от ОС, и большинство больших объектов создают теоретические данные о куче и объекте, который он сам на стеке. –
@Doggynub вы могли бы указать конкретный момент в функции вызова/выхода, когда возвращаемое значение будет нажато на стек, пожалуйста? – vard
Вы должны указать, о какой архитектуре вы спрашиваете. Также прочитайте соответствующую документацию. – Jester