请教:通过AnsiString生成的char[], 怎么在内存中释放,自动的吗???
问题见题目。
代码1:
char *a="aaaaaaaaaaaaaaaaaaaaaaa";
char b[100];
这时,a和b都是静态内存,无需要删除。
代码2:
char *a=new char[20];
strcpy(a,"asdfasdfsdfd");
char *b=new char[20];
//.................................
delete []a;
delete []b;
这时,a和b都是动态分配的,必须delete
代码3:
AnsiString as="aaaaaaaaaaaaaaaaaaaaaaaaaaaa";
char *a=as.c_str();
as=as+"bbbbbbbbbbbbbbbbbbbbbbb";
char *b=as.c_str();
这时,a和b所指向的字符串,内存应该是动态的吧,那么,如果释放这个内存?? 系统会自动摆平吗???