W C++, jeśli chcesz, aby dynamicznie przydzielać tablicę, można zrobić coś takiego:Dlaczego kompilator wymaga `delete [] p` zamiast` delete p [] `?
int *p;
p = new int[i]; // i is some number
Jednak, aby usunąć tablicę, robisz ...
delete[] p;
Dlaczego ISN” t to delete p[]
? Czy nie byłoby to bardziej symetryczne w stosunku do tego, jak zostało pierwotnie stworzone? Jaki jest powód (jeśli taki istnieje), dlaczego język został zaprojektowany w ten sposób?
Dlaczego przegłosowanie/głosowanie zostanie zakończone? Co mogę zrobić, aby poprawić pytanie? – Michael0x2a
@Deflect: To było moje, Zwykle "dlaczego wybrano ten konstrukt językowy?" pytania nie są po prostu konstruktywne, ponieważ nie ma obiektywnej, rozsądnej odpowiedzi. Jednak w tym przypadku istnieje kilka przyzwoitych powodów, więc być może oceniłem zbyt wcześnie (dość szybko usunąłem moje poparcie). – KillianDS
@KillianDS: Okay, to ma sens. Dzięki za odpowiedź! [i upewniając mnie, że nie jestem całkowicie poza bazą :)] – Michael0x2a