c++中new char(10) 和 new char[10]的区别
今天随手写个程序,在网上随意找个代码照着写,无意中使用了
char *p = new char(10);
来创建char数组,而且在netbeans上编译运行都没有问题,结果在oj上一直报runtime error,放在同学计算机上用codeblock运行也报错。
后来发现是这个分配的问题:
char *p = new char[65]; // 分配一个大小为65的char数组 char *p = new char(65); //分配一个char ,并用65来初始化值
后来程序中改成new char[10]就没有问题了。至于为什么netbeans能运行错误的代码,我也不知道。。。。