静态内存与动态内存

来源:互联网 发布:绿色上网软件 编辑:程序博客网 时间:2024/04/19 10:23

静态内存与 动态内存的区别:

1、静态内存是在编译是分配大小,不需要占用cpu资源;动态内存的分配是在运行时确定大小,需要耗费cpu的资源

2、静态内存是在栈上分配的(定义一个变量);动态内存是在堆上分配的(用new的方式)

3、静态内存不需要指针或引用指向;动态内存则需要指针或引用指向堆,然后使用数据

4、静态分配内存是由编译器来控制的;动态分配内存则由程序员来控制

5、静态分配内存是提前知道所需要的空间;动态分配内存是运行时才能确认需要的空间

使用时要注意几项:

1、全局变量尽量不要使用动态变量,否则速度慢。但不是不可用

2、动态分配内存后,一定要记得删除分配的内存

3、局部临时变量尽可能用静态变量,不用动态变量

4、检查创建的堆内存是否成功,并记得用完后清除

5、尽可能少得使用动态分配的次数

原创粉丝点击