第五章-程序设计基本概念(2)

本文探讨了C语言的底层特性和C++的高级抽象能力,指出C++在提供丰富抽象的同时也增加了复杂性。通过示例解释了在C++中调用C编译函数时extern "C"的作用,以及头文件中Ifndef/define/endif防止重复引用的功能。文章还对比了C和C++在构造对象模型和算法设计上的不同,并建议根据程序需求来选择合适的语言,如大规模数值运算可考虑C/C++,大规模用户界面则适合.NET平台。
摘要由CSDN通过智能技术生成

5.7  C和C++关系

C语言偏底层,简洁但是麻烦。抽象起来不像其他的语言那样方便。所以应用大部分都是硬件或者是系统组件。

C++结合了C语言的底层编程能力同时提供了丰富抽象能力,同时无可避免的增加了语言的复杂度。换句话说,做事情的方法不止一种,而用C++就可以给你几乎所有的选择,于是C++能利用各种抽象做所有事情(当然前提是你能驾驭得起。)


例题1:在C++程序中调用被C编译器编译后的函数,为什么要加 extern "C" ?

extern "C" 表示按照C语言方式进行连接

C++语言支持函数重载,C语言不支持函数重载(重载:重载就是同一个名字,不同的参数表(类型、顺序、个数都不一样)。)。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为void foo(int x,int y).该函数被C编译器编译后在库中的名字为_foo,而在C++编译器则会产生像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值