Оператор new размещает объект или массив объектов в динамической памяти (куче) и возвращает указатель на размещенный объект.
Процесс работы:
operator new(size_t), для массива объектов - operator new[](size_t). Эти функции по умолчанию выделяют сырую память.new возвращает типизированный указатель на начало выделенной и инициализированной памяти.Пример выделения одиночного объекта:
cpp
Пример выделения массива объектов:
cpp
Для освобождения памяти, выделенной с помощью new, используется оператор delete. Для массива - delete[]. Неверное использование delete или delete[] приведет к неопределенному поведению.
Перегрузка operator new и operator delete позволяет кастомизировать процесс выделения и освобождения памяти.