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能运行错误的代码,我也不知道。。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM