偶尔也翻下《c++编程思想》---之对象的创建与使用

任何一种计算机语言都要从某种人们容易理解的形式(源代码)转化为计算机能执行的形式,通常,翻译器分为两类:解释器和编译器。这里只说编译器。

 

编译之前先要进行预处理,之后编译过程分为两遍。

预处理:用程序员定义好的模式代替源代码中的模式。

编译第一遍:对预处理过的进行语法分析。

编译第二遍:由代码生成器编译语法分析树,生成目标模块(一个以.o或.obj为扩展名的文件)。

连接器把一组目标模块连接成为一个可执行程序。

 

声明和定义:

声明是向编译器介绍名字——标识符。它告诉编译器“这个函数或这个变量在某处可找到,它的模样像什么”。而定义是说“在这里建立变量”或“在这里建立函数”,它为名字分配空间。用extern表示一个变量的声明但不定义它。

 

对于不带参数的函数:

比如:int func1();

对于C来说,他表示可带任意参数的函数, 对于C++来说,表示不带参数的函数。

 

头文件:

更现代的c++风格的c头文件:#include <cstdio>

新式的包含格式为:#include <iostream>, 老式的:#include <iostream.h>,老式的是非非模板化的版本。如果在同一程序中混用,有可能会出问题。

 

连接:

如果连接器在目标模块中找不到函数或变量的定义,它将去查找库。库有多重索引方式,连接器不必到库里查找所有目标模块----而只需要浏览索引。当连接器在库中找到定义后,就将整个目标模块而不仅仅是函数定义连接到可执行程序。注意:仅仅是库中包含所需定义的目标模块加入连接,而不是整个库参加连接。(否则库会变得毫无意义的庞大)。

如果想尽量减少程序的长度,当构造自己的库时,可以考虑一个源代码文件只放一个函数。

 

标准函数:

除了标准C/C++之外,还有POSIX标准,该标准是基于UNIX的一个标准,如果要用到多线程编程,最好用POSIX标准,这样代码容易理解、端口通信和维护(POSIX线程库通常只用到操作系统提供的基本的线程设施)

 

标准c++中常用的类:

string类、输入输出流(比如cin、cout、文件读ifstream、文件写ofstream)、容器类。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值