历史知识大概是贝尔实验室C语言广泛被大众所接受,但是随着软件变大,C跟不上需求,C++登上历史舞台,C++1.0增加了类,C++2.0增加了类的多继承,C++3.0增加了模板,C++4.0增加了异常处理,命名空间,运行时类型识别(RTTI);然后第一次C++标准是按照4.0,第二次是现在的C++。C++是C的超集。
在C++新标准中,使用不带.h的头文件,标准库的类和函数都在命名空间std中间声明。因此如果有程序包含新形式的头文件比如#include<iostream>必须使用using namespace std;或者其他形式来说明命名空间
cin cout 分别是输入流对象和输出流对象,>>是提取运算符,<<是插入运算符;cin>>从哪里提取,cout<<插入??到cout队列。有很清楚的箭头效果。
endl是C++输出时的控制符,作用是换行,endline表示本行结束
每行行尾都有;表示语句结束
cin>>?>>?由空格分隔输入
过程形式和C重复很多,不赘述
C++的类进行了描述,粗略的,封装性和信息隐蔽,数据成员和函数成员,
在函数内部也可以声明:
#include <iostream>
using namespace std;
void dump(){
void du();
};
int main()
{
dump();
cout << "Hello world!" << endl;
return 0;
}
void du(){};
cpp c plus plus
目标程序在windows是.obj后缀,在unix和类unix系统是.o后缀
编译通过词法分析语法分析语义分析最后生成了目标程序,每个源程序通过编译都生成一个目标程序,编译系统给出的信息有错误信息和警告信息。
在链接阶段,将目标程序与库文件连接起来,当然还有其他文件(揣测.dll?.llb?)生成.exe文件,这是win系统
运行程序是运行生成的exe二进制文件
上面的过程在linux系统中编译运行一个cpp程序就可以很好掌握
要了解不同编译系统的C++而不应该只能掌握一种方言,要学习标准的C++,点名visualstudio2019的保护默认,还有codeblocks对#include<iostream.h>的不兼容。
GCC编译环境是最接近C++标准的,visual studio 2010受众也很广泛。相当于普通话全国考试