作者:
slovil (who am i? )
2017-06-24 09:58:33開發平台(Platform): (Ex: Win10, Linux, ...)
linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
none
問題(Question):
請問要如何delete這程式中new出來的char?
這程式先判斷B是否為NULL,再決定要不要new C.
那該如何進行delete? 如果再程式最後面delete
若B不為NULL,那不是連原來的B都刪了?
新手問題,但是就是想不透
煩請各位大大指點迷津.
void func(int A, char* B)
{
if (!B)
B = new char(C);
}
補充說明(Supplement):
作者: aiwhat 2017-06-24 21:24:00
單純看這段 code 感覺只是需要在 B 是 nullptr 時給一個預設值,可以考慮用一個 const char* D = "..."if(!B) B = D; 這樣不過前提是 C 的內容是固定的