指针是用来保存内存地址的变量,需要注意以下几点:
- 分清楚指针的地址,指针保存的地址、指针保存的地址的数值
- 定义一个指针后需要用他来保存一个内存地址,否则,该指针就是一个迷途指针。迷途指针可指向任意一个地址,并且对该地址的值进行更新,可能会造成意想不到的后果
- 若要将指针指向堆,需要使用关键字new来申请堆中的地址,堆中的变量都是匿名的,只能通过指针来访问,待堆中的变量使用完成,则需要使用关键字delete将堆中的该匿名变量删除,否则,该变量所占用的内存区域无法再被使用
- 在堆中为对象申请空间,申请的大小由类的成员变量决定,并且类的构造函数在创建对象时被自动调用;使用delete删除指向堆中的指针时,系统会自动调用析构函数来释放对象所占用的内存
- 访问堆中的数据成员。(*p).get()这种形式较为麻烦,故C++专门为指针间接访问对象的成员设置了一个运算符 ->,则前面的访问形式可以简化为p->get()