I am curious about the difference between straight allocation:

class_name object_name(arguements);

and dynamic allocation:

class_name *pointer_name = new class_name(arguements);

Is it because straight allocation gives you a 'this' pointer and dynamic gives you a regular pointer? Or is that explanation too simple?