栈区由系统进行内存管理,在函数完成执行,系统自行释放栈区内存,不需要用户管理。比如我们的一个程序有5个文件,那么某个文件中申请了静态全局变量,这个静态全局变量只能在当前文件中使用,其他四个文件均不可以使用。事实上static改变了变量的作用范围。1)malloc是C语言中的函数,而new是C++中的操作符。2)malloc申请之后返回的类型是VOID*,而new返回的指针带有类型。3)malloc只负责内存的分配而不会调用类的构造函数,而new不仅会分配内存,而且会自动调用类的构造函数。

C++中的内存分区介绍