引用与指针的区别:
1. 引用必须被初始化。指针可以不初始化。
int a;
int & b = a;
int * pi;
引用初始化有种特殊情况。const引用。 const int & a = 0; const int & b =2.2;
2. 用一个指针给另外一个指针赋值,改变的指针;用一个引用给另外个引用赋值,改变的是被引用的值。
int a= 0, b= 1;
int * p1 = &a;
int * p2 = &b;
p1 = p2;
int c = 0, d = 1;
int & e = c, &f = d;
c= d
布尔值:
1. 表达式需要算数值的时候,false 转换为 0, true转换为1;
2. 表达式需要bool值时,0转换为false,其他的转换为true;
枚举:
enum open_file(input, output, append);
typedef:
typedef char * cstring;
const cstring cstr;
表示为 char * const cstr;
volatile :
跟const修饰符性质类似,提示编译器,被其修饰的变量可能在编译器不知的情况下被修改。
vector:
#include <vector>