Mic*_*x2a 16 c++ language-design dynamic-memory-allocation delete-operator
在C++中,如果要动态分配数组,可以执行以下操作:
int *p;
p = new int[i]; // i is some number
Run Code Online (Sandbox Code Playgroud)
但是,要删除数组,你要...
delete[] p;
Run Code Online (Sandbox Code Playgroud)
为什么不呢delete p[]
?这与它最初创建的方式不会更加对称吗?是什么原因(如果有的话)为什么语言是这样设计的?
Mic*_*son 29
一个原因可能是使这些案件更加明显.
int ** p;
delete[] p
delete p[1];
Run Code Online (Sandbox Code Playgroud)
如果它是delete p[]
一个字符错误将有相当令人讨厌的后果.
归档时间: |
|
查看次数: |
798 次 |
最近记录: |