Я просто еще не могу привыкнуть к синтаксису C++..
любое интуитивно понятное объяснение
//delete [] foo
// and
//delete foo[]
был бы очень признателен.
если быть более точным, скажем, у меня есть
int** foo = new int*[50]
for (int index = 0; index<50;++index)
foo[index] = new int[50]
//foo = 2d 50x50 matrix
//now lets say i want to deallocate the memory of this matrix
for (index index=0;index<50;++index)
delete[] foo[index]
delete[] foo
теперь я знаю, что мне нужно удалить все «внутренние» указатели, которые я выделил ранее, а затем удалить указатель на указатель.
но мой вопрос в том, для чего используется []
после удаления? я имею в виду, если вы оставляете его пустым все время, почему он вообще там? он получает какой-либо параметр несколько раз? или мы всегда просто delete[] foo
?
new X[]
, то вы должны использоватьdelete[]
- person Jonas   schedule 25.11.2016delete
) и один для удаления массивов объектов (delete[]
).[]
просто различал разные операторы delete. - person Galik   schedule 25.11.2016