heap是在运行时动态分配内存的,stack是在编译时分配内存,因为需要stack pointer,所以,必须显示指出申请内存的大小,所以数组的声明需要指定大小;
new是在堆上分配内存的,必须和delete一起使用;封装好的class,在constructor中使用new,而在descructor中使用delete,这样可以保障client不会造成内存泄漏。
reference在没有优化的compiler上与pointer一样;
- Use references in function parameters and return types to define useful and self-documenting interfaces.
- Use pointers to implement algorithms and data structures.