指针及动态内存管理
动态持久内存分配
KEY POINT
new操作符可以在运行时为基本数据类型、数组和对象分配持久的内存空间。
另外,新版c++标准中可以用变量名称作为数组大小。
之前创建动态数组的方法
cout<<"Enter the size of the array: "; |
就可以被替换为:
cout<<"Enter the size of the array: "; |
创建及访问动态对象
关键点:调用对象的构造函数可以动态的创建对象,语法是 new ClassNmae(arguments)
可以使用如下的语句在堆中动态创建对象:
ClassName* pObject1 = new ClassName(); //这里使用无参构造函数创建对象,并将对象赋予指针pObject1 |
通过指针访问对象的数据成员以及成员函数需要先进行解引用操作,然后使用点操作符。
(*pObject1).member = value; |
或者使用箭头操作符
pObject1->member = value; |
注意:在使用new操作符创建对象时,必须使用delete操作符来释放内存,否则会造成内存泄漏。
this指针
关键点:this指针是一个隐式的指针,指向当前对象,可以用来访问对象的数据成员和成员函数。
class Circle { |
析构函数
关键点 析构函数没有参数,没有返回值,名字是类名前加上~,一般是释放对象的资源。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 うずまきナルト!
评论