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