**这是本文档旧的修订版!**
基础语法 - 类型别名与const
typedef
使用关键字 typedef 定义类型别名
例如:
typedef double wages; // wages 是 double的别名 typedef wages base, *p; // base 是double的别名, p是double *的别名
含有typedef的声明语句定义的不再是变量,而是类型别名。
alias decalration - 'using'
c++11 中扩展了using的使用场景 (c++11之前 using用于引入命名空间名字) 使用关键字 using 定义类型别名
using wages = double; // wages 是 double的别名 using base = wages; // base 是 double的别名 using p = wages *; // p 是 double *的别名 using pstring = char *; // pstring 是 char * 的别名
定义函数指针:
typedef void (*FP)(int, const std::string &); using FP = void (*)(int, const std::string &); // 使用using方式更自然,易懂
using 比 typedef 的适用范围广, 例如在using 可以在模板别名中使用,但using却不行。
template <typename T> using Vec = MyVector<T, MyAlloc<T>>; Vec<int> vec;