一个简单重载问题

ilovechao1314 2007-09-24 03:48:48
在重载过程中,编译的时侯,重载函数是怎么杨存在在内存表中的?
...全文
136 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxrs2008 2007-09-25
  • 打赏
  • 举报
回复
学习了...
manbaum 2007-09-24
  • 打赏
  • 举报
回复
名字分裂(name mangling)是c++的特性,所以才导致有: extern "C"。
戈壁上的月光 2007-09-24
  • 打赏
  • 举报
回复
顶2楼 !
zhangyanli 2007-09-24
  • 打赏
  • 举报
回复
楼上说的对,c++函数中就是这种命名法:原来的函数名+参数另外还在前面加上一大堆字符或数字,这就是c++不可移植的一个原因,如果不想让编译器作这些事的话,就用exteren c关键字,即按照c的编译方式,这也就是c不可有重载的原因.
CoffeeCN 2007-09-24
  • 打赏
  • 举报
回复
比如int f(char a, int b, float c);
编译後就是f_cif();
c == char
i == int
f == float
CoffeeCN 2007-09-24
  • 打赏
  • 举报
回复
C++在编译时,把重载的函数编译成不同的函数名。其实就是把函数名编译成原来的函数名+参数组成的新名字

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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