What is the difference between the next two initializations?
class Pod { public: int a, b; }; Pod *p1 = new Pod; Pod *p2 = new Pod();
In the first case, the object remains uninitialized, while in the second case, the object is guaranteed to be initialized with a value, which in this case, since the type is POD, means zero-initialized