#include <string> #include <cstring> #include <stdlib.h> #include <cstdlib> #include <iostream> #include <stdint.h> //包含有uint、uchar等 #include <queue> #include <fstream> using namespace std; 1.定义也是声明,extern声明不是定义,即不分配存储空间。extern告诉编译器变量在其他地方定义了。 eg:extern int a; //声明,不是定义 int a; //声明,也是定义 2.如果声明有初始化式,就被当作定义,即使前面加了extern。只有当extern声明位于函数外部时,才可以被初始化。 eg:extern double pi=3.1416; //定义 3.函数的声明和定义区别比较简单,带有{}的就是定义,否则就是声明。 eg:extern double max(double d1,double d2); //声明 double max(double d1,double d2){}//定义 4.除非有extern关键字,否则都是变量的定义。 eg:extern int a; //声明 int a; //定义 程序设计风格: 1. 不要把变量定义放入.h文件,这样容易导致重复定义错误。 2. 尽量使用static关键字把变量定义限制于该源文件作用域,除非变量被设计成全局的。 3. 可以在头文件中声明一个变量,在用的时候包含这个头文件就声明了这个变量。
注意:使用标准模板库STL(三个主要部分:容器container,迭代器iterator,算法algorithm)时需要引入头<algorithm> <deque> <functional> <iterator> <vector> <list> <map> <memory> <numeric> <queue> <set> <stack>,并且使用std空间(using namespace std;)。