【发布时间】:2015-01-16 06:46:40
【问题描述】:
嵌入式类型如 int、char 等可以使用寄存器从函数返回,但如果函数返回一些大对象怎么办。我建议不能将进程的堆栈用于此类问题,对吗?谁能解释对象如何传递给被调用者?
SomeObj function() {
SomeObj someObj;
return someObj;
}
【问题讨论】:
-
为什么堆栈不起作用?!堆栈限制取决于操作系统,大多数大型对象在堆上创建或数据以及它在堆栈上自身的对象。
-
@Doggynub 能否指定函数调用/退出时返回值被压入堆栈时的特定时刻?
-
您应该指定您所询问的架构。另外,请阅读相应的文档。