C++之new和delete运算符重载

  • 通过new创建该类的对象时,将首先调用该操作符函数分配内存(可重载),然后再调用该类的构造函数
  • 通过delete销毁该类的对象时,将首先调用该类的析构函数,然后再调用该操作符函数释放内存(可重载)
cpp 复制代码
#include <iostream>
#include <cstdlib>
using namespace std;
class A{
public:
    A(void){
        cout << "A construct" << endl;
    }
    ~A(void){
        cout << "~A disconstruct" << endl;
    }
    void * operator new(size_t size){
        cout << "A new" << endl;
    return malloc(size);
    }
    void operator delete(void *p){
        cout << "A delete" << endl;
        free(p);
    }
};
int main(void){
    A *p = new A;
    delete p;
    return 0;
}
相关推荐
问君能有几多愁~7 小时前
C++ 数据结构复习笔记
数据结构·c++·笔记
tntxia8 小时前
C++ 基础教程:从入门到精通
c++
Drone_xjw8 小时前
从 GDB 到 CDB:C/C++ 程序调试的两把“手术刀”
c语言·开发语言·c++
熊猫_豆豆11 小时前
QT6 Android C++ 自制美观闹钟
android·c++·qt·闹钟
随意起个昵称12 小时前
状压dp-基础题目2([USACO12MAR] Cows in a Skyscraper G)
c++·算法·动态规划
无限的鲜花13 小时前
协程本质是函数加状态机——零基础深入浅出 C++20 协程
c++·算法·c++20
精明的身影13 小时前
C++自学之路1:Hello world
开发语言·c++
旖-旎13 小时前
《LeetCode 64 最小路径和 || LeetCode 174 地下城游戏》
c++·算法·leetcode·动态规划
森林古猿114 小时前
再论斜率优化
c++·学习·算法
水利行业RTU手艺人14 小时前
RTU固件中的“数据保险箱”——离线数据补发系统设计
c++·stm32·单片机·物联网