new | malloc | |
|---|---|---|
| Loại | toán tử C++ | hàm C |
| Constructor | Có, gọi tự động | Không gọi |
| Kiểu trả về | typed pointer | void* |
| Khi thất bại | throw std::bad_alloc | trả nullptr |
| Giải phóng | delete / delete[] | free() |
Không trộn lẫn: new phải delete, malloc phải free. Trong C++ hiện đại nên ưu tiên smart pointer thay vì new thủ công.
new | malloc | |
|---|---|---|
| Type | C++ operator | C function |
| Constructor | Called automatically | Not called |
| Return type | typed pointer | void* |
| On failure | throws std::bad_alloc | returns nullptr |
| Deallocation | delete / delete[] | free() |
Do not mix: new→delete, malloc→free. In modern C++, prefer smart pointers over manual new.