The first one won't work. The point of this statement is to have a pointer to a class without actual object of this class. It's a terrible (or a very nice, depending on the point of view) hack to make the template mechanism cast the result to a proper class.