为什么C++支持函数重载而C不允许

   首先我们要了解什么是函数重载:函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。

     那么问题来了,C++究竟比C强大到哪里了呢?为什么C就不允许我们命名多个同名函数呢。

         其实如果在我们运行这些函数时转到编译看一看,就会明白。C++在底层运行这些函数时,会重新给这些函数起一个包含其参数列表的名字(不同平台命名规则不同),这样一来程序在编译时,根据重载的条件 — 形参列表必须不同,底层就会给每个表面上看似同名的函数起一个独一无二的名字,这也就意味着他们变成了不同名的函数,因而也就可以同时运行。

         而反观C语言环境下,底层重新命名时仅仅是在原来的名字前加了一个下划线(-),因此运行时这些函数时他们依然同名,也就无法达到重载的效果。

分享题目:为什么C++支持函数重载而C不允许
文章来源:http://bzwzjz.com/article/gpecsh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设公司 专业网站设计 成都企业网站制作 企业网站设计 网站建设方案 成都商城网站建设 网站设计公司 手机网站制作 成都网站建设 重庆网站制作 定制网站设计 企业手机网站建设 高端网站建设 重庆电商网站建设 营销网站建设 响应式网站建设 商城网站建设 成都网站制作 成都网站建设公司 成都网站设计 成都网站设计 公司网站建设