You can initialize objects created with the new operator in
several ways. For nonclass objects, or for class objects without
constructors, a new initializer expression can be provided
in a new expression by specifying (expression) or (). For
example:
double* pi = new double(3.1415926); int* score = new int(89); float* unknown = new float();
If a class has a constructor, the new initializer must be provided when any object of that class is allocated. The arguments of the new initializer must match the arguments of a class constructor, unless the class has a default constructor.
You cannot specify an initializer for arrays. You can initialize an array of class objects only if the class has a default constructor. The constructor is called to initialize each array element (class object).
Initialization using the new initializer is performed only if new successfully allocates storage.