1.指针声明
*p++与(*p)++的含义:*p++ 取p指向的地址的值,然后指针右移一个单位, (*p)++将p指向的地址的值取出然后做++操作
2.typedef定义:
typedef string *pstring;
const pstring p; ---->string * const p; //const修饰的是指针,不能做宏定义一样的简单类型扩展
3.void*类型可以保存任何类型对象的地址,不允许使用void*指针操纵它所指向的对象,void*做返回值时表示返回一个特殊的指针类型
4.本质上讲,引用其实还是指针,不能定义引用类型的引用,但是可以定义其他任何类型的引用
5.引用和指针的区别:不能为空,必须初始化,且不能改变为对另一个对象的引用,sizeof得到的是对象的大小,不需要解引用,++操作符意义不大
6.const引用是指向const对象的引用。
7.野指针:指向不可用内存的指针,产生原因:1.创建时未初始化,2.free或者delete后未设置为NULL 3.指针越界