温习段二:对象的创建与使用
(转载请注明出处 CSDN xxyyboy 有问题请留言)
A:类是一种新的数据类型
B:语言的翻译过程,源代码->…->机器指令
通常翻译器分为两类,解释器 和 编译器:
解释器 将源代码转化成一些动作,他由多组机器指令组成,并立即执行这些动作。
编译器 编译器直接把源代码转换成汇编语言或机器指令,最终的结果是一个或多个机器代码的文件。分段编译 的概念。一般的编译器都采用内存中编译(in-memory compilation),大多数编译器编译时每一步都要读写文件,内存编译器就是将编译器程序放在RAM中,对于小的程序来说,内存中编译器几乎能和解释器一样相应。
C:编译过程 预处理器,编译一般2个过程,1预处理的代码语法分析。2,由代码生成器便利语法分析树,把树的每个节点转化成汇编语言或者机器代码。有时候会在1,2之间使用全局优化器。连接器把一组目标模块连接成1个可执行的程序。连接器能够搜索成为LIB的特殊文件处理它的所有引用。
静态类型检测 ,某些如JAVA再程序运行时做部分类型检查,称为 动态类型检查。 C++采用静态类型检查。(这里应该留一个特别大的话题,编译原理,编译器是怎么编译出来的,编译器又是如何工作的。)
E:声明和定义 声明 就是向编译器介绍名字。定义 是在这里建立变量或函数
Int func (); C 任意数目,任意类型 的函数; C++ 不带参数的函数
Extern I nt I; // Declaration
Extern float f(float); // Declaration
Float g(float g); // Declaration
Float h(float h){};//Definition
Int I; // 特别指出,定义 Definiton
Int I = 5; //Definition
头文件: #include <A.h> 环境中或者编译器命令行制定的某种路径寻找
#include “A.h” 定义实现的途径,从当前目录开始寻找,找不到,再按<>寻找。
#include <iostream>
Using namespace std: //名字空间的问题,使名字空间内的名字都可见,打开名字空间。
#include <iostream.h> 上面2句等同于这1句
#include <cstdio> 说明使用的是C的库
F:输入/出流<< , >>
Cout << / cin >>
C++ 支持字符串的多行写的模式。
G:文件流 fstream ,fstream自动包含iostream。 Ifstream ofstream genline();
Int main () { //C++中的main 总是返回int型
Ifstream in(“filename”);
String s, line; //string C中,字符数组;C++中 类,看了string类的实现就知道动态申请空间等问题
While(getline(in,line))
S + = line + “/n”;
}
H:Vector 容器 STL(Standard Template Library)标准模版类库。SGI的STL与标准的C++库许多细节不同,所以避免使用STL 来代表 标准 C++库 或标准库容器。
Vector是一个模版(template),也就是说它可以有效地使用于不同的类型。
Int main () {
Vector<string> v;
Ifstream in(“filename”);
String line; // C++中 主张什么地方使用什么地方来声明定义变量。
While (getline(in, line)) // while(in >> line) 我们也可以使用这样处理,默认空格和换行都是断开符号,可以根据任何方式分割输入。
v.push_back(line); //push_front()不属于vector,把新元素加在vector开头。
for(int i=0; I <v.size(); i++)
cout <<v[i]<<endl; //v[I ] = v[i] * 10; vector 允许这样赋值
}