075.程序的内存模型-new运算符

Posted 梦之心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了075.程序的内存模型-new运算符相关的知识,希望对你有一定的参考价值。

#include <iostream>
using namespace std;

//1.new的基本语法
int* func()
{
    //在堆区创建整数数据
    //new返回是 该数据类型的指针
    int* p = new int(10);
    return p;
}

void test01()
{
    int* p = func();
    cout << *p << endl;
    cout << *p << endl;
    cout << *p << endl;
    //堆区的数据由程序员管理开辟,程序员释放
    //如果想要释放堆区的数据,利用关键字delete
    delete p;
    //cout << *p << endl;//保存
}

//2.在堆区利用new开辟数组
void test02()
{
    //创建10个整型的数组,在堆区
    int* arr = new int[10];//代表数组有10个元素
    for (size_t i = 0; i < 10; i++)
    {
        arr[i] = i + 100;//给10个元素赋值100~109

    }

    for (size_t i = 0; i < 10; i++)
    {
        cout << arr[i] << endl;
    }
    //释放堆区数组
    //释放数组的时候,要加[]才可以
    delete[]arr;
}
int main()
{
    test01();
    system("pause");
    return 0;
}

 

以上是关于075.程序的内存模型-new运算符的主要内容,如果未能解决你的问题,请参考以下文章

动态内存管理---new&amp;delete

C++内存分区模型

C++内存分区模型

golang的内存模型与new()与make()

C++:指针和new,delete详解

❥关于C++之定位new运算符•显示调用析构函数