Я вижу много библиотек C ++, занимающихся динамическим распределением памяти следующим образом:
Qimage* _image = new QImage(width, height, QImage::Format_RGB888);
if (!_image)
{
// Failed!
}
Мне кажется интересным , что можно проверить, был ли объект успешно выделен или нет, с помощью простого кода, такого как if (!_image)
.
1) Интересно, является ли это нативной функцией стандарта new
или это возможно только в том случае, если вы перегружаете operator new
своей собственной реализацией.
2) Как бы я реализовал operator new
в этом случае, когда он получает аргументы для конструктора объекта и возвращает NULL, если ширина && height равна 0?
Я правильно понял?