1、对于String类型的类(含有指针)
其中的指针成员能够灵活的申请存储空间,但指针操作又带来内存泄漏的风险,变更指针的操作需要尤为谨慎。
要点在于写好BigThree
构造函数
{
完成成员初始化(列表);
完成存储空间的申请;
}
拷贝构造函数
{
拷贝成员;
申请新的存储空间并将参数对象的内容复制;
}
拷贝赋值函数
{
检查是否为自身赋值;
完成一般成员的拷贝;
delete当前对象中指针成员的空间;
根据新的对象new并且复制内容;
}
2、生命周期
stack 是作用域的内存空间,存放参数返回值等
heap 是系统提供的globalmem
3、new
new关键字申请得到的内存空间debug(更大)和release状态不同,但都有内存对齐的要求。
时间: 2024-10-07 06:15:53