zoukankan      html  css  js  c++  java
  • c++之:new与malloc

    #include <iostream>
    using namespace std;
    
    void spacealloc_c()
    {
        //开辟内存空间---C语言风格
        int *p = (int *)malloc(sizeof(int));
        *p=10;
        if(p!=NULL)
        {
            free(p);
            p=NULL;
        }
        //开辟内存数组---C语言风格
        //开辟内存空间,用于存放数组
        int *q = (int*)malloc(sizeof(int)*10);//有别于new int(10)----此为赋值为10
        printf("new出来的内存数组大小是:%d
    ",sizeof(*q));
        for(int i=0;i<10;i++)
        {
            q[i]=i+88;
        }
        for(int i=0;i<10;i++)
        {
            printf("%d
    ",q[i]);
        }
        if(q!=NULL)
        {
            free(q);
            q=NULL;
        }
    }
    
    
    void spacealloc_plus()
    {
        //开辟内存空间---C++语言风格
        int *p = new int;
        //int *p = new int(10);//表示给新分配的整形变量分配空间,并且赋值为10
        *p=10;
        if (p!=NULL)
        {
            delete p;
            p=NULL;
        }
    
        //开辟内存空间,用于存放数组
        int *q = new int[10];//有别于new int(10)----此为赋值为10
        printf("new出来的内存数组大小是:%d
    ",sizeof(*q));
        for(int i=0;i<10;i++)
        {
            q[i]=i*88;
        }
        for(int i=0;i<10;i++)
        {
            printf("%d
    ",q[i]);
        }
        if(q!=NULL)
        {
            delete[] q;
            q=NULL;
        }
    }
    void main()
    {
        spacealloc_c();
        cout<<"====================================="<<endl;
        spacealloc_plus();
        system("pause");
    }

    c++也可以使用malloc free,然而更c++风格的是new  delete

  • 相关阅读:
    python 学习 3-1 (编码)
    mongdb备份
    docker 部署redis , mongodb ,rabbitmq
    python学习第一天第二天总结
    python 学习 (1-3)
    python学习(day1-2)
    Activiti工作流搭建教程
    docker Compose安装
    CAS 单点登录(代码部分)
    推送自定义docker镜像到阿里云
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/12013759.html
Copyright © 2011-2022 走看看