1) "operator new" allocates memory, but does not construct an object
1 2 3
MyAx* p = (MyAx*) operatornew(sizeof(MyAx));
// memory is allocated, but 'p' does not yet point to an actual MyAx object
// because nothing was constructed
2) "placement new" constructs an object at a given address, but does not allocate any memory:
1 2
int memorybuffer[100];
MyAx* p = new(memorybuffer) MyAx; // constructs a MyAx object in the 'memorybuffer' memory
3) plain old "new" does both. Allocates memory and creates an object
MyAx* p = new MyAx; // allocates memory and constructs an object there.