请问C/C++语言中函数返回值放在哪里?

fat_how 2005-10-09 09:10:34
谢谢
...全文
245 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuming2003 2005-10-10
  • 打赏
  • 举报
回复
与具体实现有关,一般是通过寄存器,如vc就通过eax
晨星 2005-10-10
  • 打赏
  • 举报
回复
呵呵,说错了。
yhbttfile 2005-10-10
  • 打赏
  • 举报
回复
呵呵,的确问题不够详细。

如果是POD类型的返回值,的确可以放到寄存器中,如果是自定义对象(注意指针和引用可以作为POD对待),应该是堆栈上。
snowbirdfly 2005-10-10
  • 打赏
  • 举报
回复
不一定~~
一般都放在栈上,当然也可以如上面所说放在寄存器~~
samuel417 2005-10-09
  • 打赏
  • 举报
回复
同意 wanguodu(足文字D)~
wanguodu 2005-10-09
  • 打赏
  • 举报
回复
回复人: steedhorse(晨星) ( ) 信誉:126 2005-10-09 21:30:00 得分: 0


栈上,怎么了?
~~~~~~~~~~~~~~~~
不一定吧?事实上,一般是通过寄存器返回的,比如VC6.0就是通过寄存器eax返回的。
晨星 2005-10-09
  • 打赏
  • 举报
回复
栈上,怎么了?
你还是把自己的问题说的详细点吧。说实在的,这个都涉及到平台和编译器方面的问题了,不是语言语法本身的问题。
fujingn188 2005-10-09
  • 打赏
  • 举报
回复
int add(int a,int b)
{
return (a+b)
}
void main()
{
int a=10;
int b=10;
int c=add(a,b)
}
当运行到 c=add(a,b)时调用函数add,在栈里面分配空间给该函数
并产生2个临时变量a,b完成计算后把计算的值赋给c,函数调用结束
为这个函数分配的空间收回.

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧