C++语言之动态内存分配

来源:互联网 发布:淘宝为什么没有美加蜜 编辑:程序博客网 时间:2024/05/22 22:00

在C语言中,我们熟悉的内存分配与释放的最常用的接口分别是malloc , free 。在C++中:

    存在着更加方便的动态存储分配:

1、new 和delete 机制,new 它能更可靠控制存储区的分配,C++ 用delete 释放new 运算符申请的存储区。
2、new 分配空间时, 如果是对象, 自动调用构造函数。
3、new [] 表示分配一个动态数组, 要跟delete [] 配合使用。

直接上代码:

#include <iostream>using namespace std ; int main(void){//给指针变量a分配int类型大小的空间int *a = new  int ;   //给指针变量赋予200*a = 200 ; //new [] 表示分配一个动态数组int *p = new int[10] ;  //注意,这里不只10块空间,而是4*10=40 。因为int型占4个字节int i ; //遍历数组for(i = 0 ; i < 10 ; i++){p[i] = i ; //给数组赋值cout << "p[" << i << "] : " << p[i] << endl ; }cout << "*a : " << *a << endl ; //释放空间  相当于C语言中的freedelete  a ; //Ê释放空间delete []  p ; char *q = NULL ; delete q ; return 0 ; }

运行结果:

p[0] : 0

p[1] : 1

p[2] : 2

p[3] : 3

p[4] : 4

p[5] : 5

p[6] : 6

p[7] : 7

p[8] : 8

p[9] : 9

*a :200


0 0
原创粉丝点击