第五章-程序设计基本概念(2)
来源:互联网 发布:淘宝系统排查时间 编辑:程序博客网 时间:2024/06/07 09:14
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++编译器则会产生像 _foo_int_int 之类的名字。
例题2:头文件中的Ifndef/define/endif 作用?
防止该头文件被重复引用。
例题3:评价一下C与C++的各自特点。如果一个程序既需要大量运算,又要有一个好的用户界面,还需要与其他软件大量交流,应该怎样选择合适的语言?
C是一种结构化语言,重点在于算法与数据结构。C程序的设计首先考虑的是如何通过一个过程,对输入或环境条件进行运算处理得到输出(或实现过程控制),而对于C++,首先考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过对象的状态信息得到输出或实现过程控制。
对于大规模数值运算,C/C++和Java/.NET之间没有明显的性能差异。不过,如果运算设计向量计算、矩阵运算可以使用FORTRAN或者MATLAB编写计算组件。
大规模用户界面相关的软件则可以考虑使用.NET(windows环境)进行开发,而且.NET和COM之间的互操作容易,且.NET对数据库访问的支持好。
- 第五章-程序设计基本概念(2)
- 第五章-程序设计基本概念(1)
- 程序员面试宝典第五章 程序设计基本概念
- 程序员面试宝典(第四版)——读书笔记-1、第五章:程序设计基本概念
- 第五章--基本概念
- 5章 程序设计基本概念
- 第五章 程序设计基础概念(一)
- win32多线程程序设计笔记(第五章)
- javascript高级程序设计笔记(第五章)
- javascript高级程序设计笔记(第五章)
- Linux程序设计第五章
- 《erlang程序设计2》读书笔记-基本概念
- javascript高级程序设计(基本概念)
- 软件工程 第五章 程序设计须知
- Objective-C 程序设计 第五章
- Java程序设计基础-第五章
- 《Java程序设计》第五章-例题
- 程序设计基本概念
- HTTP核心模块配置静态web服务器 8-对客户端请求的特殊处理
- 【NOIP2014提高组】联合权值
- 创建全国主要城市经纬度map的java代码
- 观察者模式--java描述
- android toolbar
- 第五章-程序设计基本概念(2)
- Linux常用网络命令和关机重启命令
- 定时器扫描修改时锁表问题
- android 使用html5作布局文件
- 数组中的逆序对
- Java NIO FileChannel
- Qzone React Native改造
- 提高 Linux 上 socket 性能
- SVN无法更新代码的错误:Error:svn:E155004