全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

同样是函数,在C和C++中有什么区别

时间:2024-11-29 10:25

人气:

作者:admin

标签: 函数  C++ 

导读:同样是函数,在 C 和 C++ 中有什么区别? 第一个返回值。 C语言的函数可以不写返回值类型,编译器会默认为返回 int。 但是 C++ 的函数,除了构造和析构这两个特殊的函数,必须得写上...

同样是函数,在 C 和 C++ 中有什么区别?

第一个返回值。

C语言的函数可以不写返回值类型,编译器会默认为返回 int。

但是 C++ 的函数,除了构造和析构这两个特殊的函数,必须得写上返回值,即使没有数据返回,也得写 void。

第二个函数名。

C语言的函数名绝对不能重名,除了用上 weak 这样的黑科技。同一个项目中,函数重名就会提示重复定义。

C++因为函数重载的存在,函数名可以相同,只要参数有区别就行。这两个函数构成重载的关系。

第三个函数参数。

C++中的函数参数花样比较多。

比如C++支持占位参数,参数可以只写个类型,但是没有名字,调用函数的时候,必须得给占位参数传参。

C语言原来不支持占位参数,不过就在最新的 C23 里面,也加入了占位参数,使用新一点的编译器,编译也能通过。

除了占位参数,还有默认参数,这个功能比占位参数更实用。

所谓默认参数,就是可以给函数参数提供一个默认值,调用函数的时候,如果没有提供实参,就会使用默认参数。

默认参数真的是个好东西。

第四个,函数模板。

这个概念也是只有C++才有。

对于函数体一样,只有类型不一样的函数,C++引入了模板机制,一个函数,可以用于多个场景。

第五个,函数指针。

C语言和C++都有函数指针的概念,只是 C++ 不仅有函数指针,还有函数对象。

这是两个完全不同的概念,一个是指针,一个是被重载过函数调用运算符的类。

算法里面,都可以用来指定规则。

相比C语言的函数,C++要复杂很多。还有哪些区别,欢迎大家在评论区交流。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信