四时宝库

程序员的知识宝库

C++_程序内存模型_new运算符---C++语言工作笔记030

然后上一节我们简单看了一下new,操作符号,用他创建了int类型数据,在堆区中,

现在我们继续看new关键字.

?

首先我们先去创建一个new int类型的数据

int * p =new int(10);

然后返回一个int类型指针.

?

然后我们再去,打印一下这个指针的内容.

?

这里我们多次打印都是没问题的,

因为我们自己在堆区进行创建的这个int类型的数据.

通过*p 就可以访问,对应指针的内容.

?

堆区的内容,我们说是我们自己去创建,但是用完了以后,我们还要注意,我们需要释放怎么释放呢?

?

需要利用delete p;

delete关键字,delete p; 就是释放一个堆区的,int 类型的指针对应的堆区的内存.


?

可以看到如果我们,释放了这个堆区的内存以后,我们还想去访问的话,就会报错了.

?


?

可以看到,内存如果被释放,再去访问就会报错了.

?

然后我们再去用new ,去在堆区中开辟一个数组的内存,

用new int[10]; 会返回10个连续的内存空间.

?

可以看到,我们可以定义一个int * arr 类型的指针,来获取这个数组在堆区中的,首地址.

然后我们给这个数组赋值.

?

然后我们再去打印这个数组的内容

?

然后我们再去调用刚刚写好的方法.

?

可以看到,输出的结果.

?

然后我们再去调用

delete[] arr;

去释放数组.=

要注意,释放了数组内存以后就不要再去调用他了,再去调用会报错.













发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接