根据分配内存的方式,C++有3种管理数据内存的方式:自动存储,静态存储和动态存储(又是也叫自由存储空间或堆)。
1. 在函数内部定义的常规变量是用自动存储方式
2.静态存储是在程序整个运行期间都存在的的存储方式。可以有两种声明方式:一是在函数外面定义它:二是在声明变量的同时使用关键字static.
静态类成员有一个特点:无论创建了多少个对象,程序都只创建一个静态类变量副本。也就是说,类的所有对象共享一个静态成员。
3.new和delete关键字提供比上面两种方式更灵活的内存管理方式——动态存储,他们管理一个内存池。new和delete允许在一个函数总分配内存而在另外一个函数中释放它。new和delete必须同时使用,以防内存泄漏。
4.函数在调用过程中,所有的局部变量都是在栈上分配的,一旦退出了函数,就被释放。