成员函数里面new的地址怎么在调用结束后自动delete呀

class MyInteger
{
private:
    int m_Num;

public:
    MyInteger() : m_Num(0) {}
    ~MyInteger() {}

public:
    // 前置递增重载
    MyInteger &operator++()
    {
        m_Num++;      // 先进行++运算
        return *this; // 返回自身,解引用 this指针
    }
    // 后置递增重载
    MyInteger& operator++(int)
    {
    // void operator++(int)  int代表占位参数,可以区分前置和后置递增
    // 后置递增要返回值 MyInteger operator++(int),因为 temp 是局部变量,函数结束后就释放了
        // 实现先返回自身后运算结果
        // 先记录当前值,递增,返回记录的值
        // MyInteger temp = *this;
        // this->m_Num++;
        // return temp;
        
        // test : 利用new
        MyInteger* temp = new MyInteger(*this);
        this->m_Num++;
        return *temp;
    }

MyInteger* temp = new MyInteger(*this);这一步new的内存怎么释放掉

img

参考如下:

#include <iostream>
using namespace std;
class MyInteger
{
private:
    int m_Num;

public:
    MyInteger() : m_Num(0) {}
    //添加了两个构造函数
    MyInteger(int n):m_Num(n){}
    MyInteger(MyInteger& s)
    {
        m_Num = s.m_Num;
    }
    ~MyInteger() {}

public:

    // 前置递增重载
    MyInteger &operator++()
    {
        m_Num++;      // 先进行++运算
        return *this; // 返回自身,解引用 this指针
    }
    // 后置递增重载,注意这里的&删掉了
    MyInteger operator++(int)
    {
        // void operator++(int)  int代表占位参数,可以区分前置和后置递增
        // 后置递增要返回值 MyInteger operator++(int),因为 temp 是局部变量,函数结束后就释放了
        // 实现先返回自身后运算结果
        // 先记录当前值,递增,返回记录的值
        // MyInteger temp = *this;
        // this->m_Num++;
        // return temp;
        // test : 利用new
        //MyInteger* temp = new MyInteger(*this);
        MyInteger temp(*this);
        
        this->m_Num++;
        return temp;
    }
    //重载输出运算符
    friend ostream& operator<<(ostream &os,MyInteger &c);
    
};

int main()
{
    MyInteger myint(0);
    cout << myint << endl;       // 0
    cout << myint++ << endl;     // 0
    cout << myint << endl;       // 1

    return 0;
}
ostream& operator<<(ostream &os,MyInteger &c)
{
    os << c.m_Num;
    return os;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632