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

  • 相关阅读:
    springmvc与Ajax交互
    springmvc请求参数获取的几种方法
    struts2进阶篇(2)
    mysql explain用法
    struts2基础篇(1)
    struts2工作原理
    PHP 数组的拷贝是按值传递 or 按引用传递
    js中使用cookie
    Yii rules常用规则
    js倒计时发送验证码按钮
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/12013759.html
Copyright © 2011-2022 走看看