栈与堆
栈:先进后出,用完就扔(要想退出函数就消失,就放在栈里)
堆:与当前函数以及栈没关系(要想退出函数还要用,就放到堆里new)
堆的使用:
1,数组
- 在栈里,需知道确切的大小;
- 可以使用动态内存将数组放入堆,这样就可以在运行时指定数组大小;
int *myVariableSizeArray; myVariableSizeArray = new int[arraySize]; //use myVariableSizeArray[3] = 2; //delete delete []myVariableSizeArray; |
2,指针
int *myPoint = new int;
//use *myPoint = 8; |