关键词:动态内存分配,拷贝赋值,new/delete
与Complex类最大的差别:有动态分配的内存空间(char* m_data)
Tip | Demo |
---|---|
拷贝赋值函数的一般结构 | |
拷贝赋值时,检测自我赋值非常重要 自己的内存已经释放了,还怎么把自己赋给自己? |
|
new 时做了什么?1.分配内存 2.static_cast为相应类型指针 3.调用构造函数 |
|
delete 时做了什么?1.调用析构函数释放m_data 2.释放ps指针 |
|
如果对象中存在动态分配的内存空间,必须使用delete[] 进行释放 |