/*That's not quite true (you should almost certainly get yourself an alternative reference),
you are allowed an empty initializer (()) which will value-initialize the array but yes,
you can't initialize array elements individually when using array new.
(See ISO/IEC 14882:2003 5.3.4 [expr.new] / 15)
E.g.
*/
int
* p =
new
int
[5]();
// array initialized to all zero
int
* q =
new
int
[5];
// array elements all have indeterminate value
/*There's no fundamental reason not to allow a more complicated initializer
it's just that C++03 didn't have a grammar construct for it.
In the next version of C++ you will be able to do something like this.
*/
int
* p =
new
int
[5] {0, 1, 2, 3, 4};