指针变量是一种存放另一对象所占用的地址的变量。
int main()
{
IntCell *m;
m = new IntCell{0};
m->write(5);
cout<<"Cell contents:"<<m->read()<<endl;
delete m;
return 0;
}
声明
第三行是关于m的声明。星号*表明m是一个指针变量,允许指向一个IntCell对象。m的值是它所指向的对象的地址,此时并没有初始化。第五行对指针进行了初始化。
对象的动态创建
C++有几种方法使用其零参数构造函数创建对象
m=new IntCell();
m=new IntCell{};
m=new IntCell; //首选
垃圾收集与delete
内存漏洞:若当一个通过new操作符被分配地址的对象不再被引用时,必须对该对象进行delete操作,否则,使用的内存将会丢失。
通过指针访问对象的成员
如果一个指针变量指向一个类类型的对象,那么所指对象的成员能够->操作符被访问。