初级
- 内存管理:需要在构造函数中分配内存给 ptr,并在析构函数中释放内存,以避免内存泄漏。
MyClass::MyClass()
{
ptr = new int;
}
MyClass::~MyClass()
{
delete ptr;
}
- 深拷贝:如果您需要实现复制构造函数和赋值运算符重载,您需要进行深拷贝,以确保复制后的对象拥有独立的内存空间。
MyClass::MyClass(const MyClass& other)
{
ptr = new int(*other.ptr);
}
MyClass& MyClass::operator=(const MyClass& other)
{
if (this != &other)
{
delete ptr;
ptr = new int(*other.ptr);
}
return *this;
}
- 生命周期管理:您需要确保在使用 ptr 之前,检查指针是否为空,以避免访问空指针所引发的问题。
if (ptr != nullptr)
{
// 访问 ptr 指向的内存
}
标签:int,C++,other,内存,new,MyClass,几点,ptr
From: https://www.cnblogs.com/thammer/p/18158420