Trong C++, nếu bạn muốn tự động phân bổ một mảng, bạn có thể làm một cái gì đó như thế này:Tại sao trình biên dịch yêu cầu `xóa [] p` so với` xóa p [] `?
int *p;
p = new int[i]; // i is some number
Tuy nhiên, để xóa các mảng, bạn làm ...
delete[] p;
Tại sao isn' t nó delete p[]
? Điều đó sẽ không cân đối hơn với cách nó được tạo ra ban đầu? Lý do (nếu có) tại sao ngôn ngữ được thiết kế theo cách này?
Tại sao phiếu giảm giá/bỏ phiếu lại đóng? Tôi có thể làm gì để cải thiện câu hỏi? – Michael0x2a
@Deflect: Đó là của tôi, Thông thường 'tại sao cấu trúc ngôn ngữ này được chọn?' câu hỏi đơn giản là không mang tính xây dựng bởi vì không có câu trả lời khách quan, hợp lý. Tuy nhiên, trong trường hợp này có một vài lý do khá, vì vậy tôi có thể đã đánh giá quá sớm (tôi loại bỏ downvote của tôi khá nhanh). – KillianDS
@KillianDS: Được rồi, điều đó có ý nghĩa. Cảm ơn vì đã trả lời! [và trấn an tôi rằng tôi không hoàn toàn off-base :)] – Michael0x2a