静态内存与 动态内存的区别:
1、静态内存是在编译是分配大小,不需要占用cpu资源;动态内存的分配是在运行时确定大小,需要耗费cpu的资源
2、静态内存是在栈上分配的(定义一个变量);动态内存是在堆上分配的(用new的方式)
3、静态内存不需要指针或引用指向;动态内存则需要指针或引用指向堆,然后使用数据
4、静态分配内存是由编译器来控制的;动态分配内存则由程序员来控制
5、静态分配内存是提前知道所需要的空间;动态分配内存是运行时才能确认需要的空间
使用时要注意几项:
1、全局变量尽量不要使用动态变量,否则速度慢。但不是不可用
2、动态分配内存后,一定要记得删除分配的内存
3、局部临时变量尽可能用静态变量,不用动态变量
4、检查创建的堆内存是否成功,并记得用完后清除
5、尽可能少得使用动态分配的次数