Компилятор генерирует машинный код для этого. Когда компилятор видит
CSomeClass* object = new CSomeClass();
( новый оператор ) генерирует код, который вызывает соответствующий operator new()
(который выделяет память), вызывает правильный конструктор, вызывает деструкторы всех полностью построенных подобъектов в случае исключения, вызывает operator delete()
в случае возникновения исключения во время строительства. Все это делается с помощью дополнительного машинного кода, сгенерированного компилятором C ++ для этого просто выглядящего оператора.