new的作用

用来初始化一段堆内存,new的返回值为该段堆内存的首地址,有且仅有一个*,int*a为(int*)(a),int*代表变量指向内存为int的地址,所以a代表的是指向内存为int的地址的变量

    int **a = new int[5][6];//不可执行
    int **a = new int*[5];//a指向5个int*
    int (*a)[6] = new int[5][6];    
 int *b = new int[5];
 
  delete a;
  delete []a;
 
    //char是一个字节,int4个字节,地址变量8个字节
    char **a = new char*[5];
    for (int i = 0; i < 5; i++)
    {
        cout << a[i] <<endl;
    }
   
    cout << sizeof(char*[5])<<endl;//40,5个char*
    cout << sizeof(char[5])<<endl;//5
    cout << sizeof(char)<<endl;//1
    cout << sizeof(char*)<<endl;//8
    cout << sizeof(a)<<endl;//8
    cout << sizeof(*a)<<endl;//8
    cout << sizeof(**a)<<endl;//1
    delete []a;
 
 
new和delete的重点在于类对象的申请和释放,调用构造函数进行初始化,调用析构函数进行释放
posted @   纸包鱼  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示