В чем разница между operator new и expression new?
В том, что это совершенно разные, хоть и взаимосвязанные, вещи.
New-expression - это встроенная конструкция языка, при помощи которой в языке С++ создаются объекты в динамической памяти. Например
int *p1 = new int();
SomeClass *p2 = new SomeClass[20];
А operator new (и operator new[]) - это функции выделения "сырой" неинициализированной памяти, которые неявно вызываются изнутри new-expression.
В упрощенной форме алгоритм работы new-expression состоит из двух этапов:
operator new/operator new[]operator new "сырую" память - например, путем вызова конструктора(-ов) создаваемого объекта(-ов).Стандартная библиотека предоставляет некую "базовую" реализацию функций operator new. Эти функции, при необходимости, также являются замещаемыми/перегружаемыми пользователем, в том числе индивидуально для каждого пользовательского класса.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости