1、假设Cat代表各种类型(int、char、float、double、NodeStruct(结构体)、NodeClass(类)、...)
// new 用法
Cat *p = new Cat; // 分配内存; delete p;
Cat *p = new Cat(val); // 分配内存 + 初始化; delete p;
// 分配n个数组;
// delete []p;
// 若用 delete p; 只会释放p[0]; p[1~n-1] 不会被释放,内存泄露
Cat *p = new Cat[n];
2、new —— 堆上进行分配
3、new、delete 可以被重载