1.使用new动态分配的指针才需要用delete回收,防止内存泄露。没有用new的是静态分配,系统会在程序销毁时自动回收。
2.数据的3种存储方式:1.静态区:全局变量。 2.堆:程序执行时分配的内存 3.栈:函数调用,全局变量。 new出来的内存分配到堆上!!!!!
3.new和delete要成对出现!(首先 delete ... ; 然后 ...=NULL ;) 遵循在哪分配在哪释放
4.分配:数据类型 *Test =new 数据类型[初始化]; 删除 delete Test;或者 delete [] Test ;(这种为删除指针数组)
5. string *Test=new string[10]; //在本文档中Test均为指针变量
*Test="111";
// Test++; 这会使得动态分配的初始地址发生改变
*(Test+1)="222";
cout<<*(Test+1)<<endl;
delete [] Test;
Test=NULL;
2.数据的3种存储方式:1.静态区:全局变量。 2.堆:程序执行时分配的内存 3.栈:函数调用,全局变量。 new出来的内存分配到堆上!!!!!
3.new和delete要成对出现!(首先 delete ... ; 然后 ...=NULL ;) 遵循在哪分配在哪释放
4.分配:数据类型 *Test =new 数据类型[初始化]; 删除 delete Test;或者 delete [] Test ;(这种为删除指针数组)
5. string *Test=new string[10]; //在本文档中Test均为指针变量
*Test="111";
// Test++; 这会使得动态分配的初始地址发生改变
*(Test+1)="222";
cout<<*(Test+1)<<endl;
delete [] Test;
Test=NULL;