1、命名空间:C++标准库中的实体都在命名空间std中定义,所以标准军中的所有实体名都用std来限定。
cout的全名就是 std::cout ,两个冒号称为:范围解析运算符。
故,若文件首没用using namespace std; 那么就必须 写成:std::cout<<"hello word!"<<endl;
除此外,还可专门针对某个使用函数描写如
#include <iostream.h>
using std::cout;
int main()
{
cout<<"hello world";
return 0;
}
2、两个下划线开始,或者一个下划线开始紧接一个大写字符的,是系统内定命名,所以变量、函数等不要写成这个形式。
同时,C++命名也是区别大小写的,即变量a和A是两个不同变量。
3、声明、定义、初始化(赋值) 的区别
double a; //声明a 为double类型,但并没分配内存空间,也未初始化。
double b=3.32; //声明b为double类型,并定义分配空间,且初始化其值为3.32
4、头文件与库文件
头文件中有函数的申明,库文件实现函数的定义。比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库中。
而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函数的实现并链接进这个程序代码段里。
总结起来就是,库文件通过头文件向外导出接口。用户通过头文件找到库文件中函数实现的代码从而把这段代码链接到用户程序中去。
再看一下编译过程的细节:
链接的过程: