C++ 关于delete 和new 函数的问题
定义了一个 char型指针,并对其赋初值,然后重新给其new 了一段规定了大小空间,然后又对其赋值,但这时候给它赋值的字符串大于new出来的空间,但编译运行却没问题,为什么?还有,当执行delete 操作时,程序运行到delete时,就卡住了,不会往下运行了,但编译时没显示错误,又是为什么?
追问:我现在发给你吧,只是很简单的做一下测试而已,你把在你机子上上的结果说给我就行
char * c="sd";
cout<<strlen(c);
cout<<c<<endl;
// delete [] c;
c=new char [11];
for(int i=0;i<13;i++)
c[i]='a'+i;
//c="123456789101";
cout<<strlen(c)<<endl;
delete [] c;
char * s="1111";
s=new char [5];
s=c;
cout<<c<<s<<endl;
delete [] c;return 0;
}