What's the difference between new char[10] and new char(10)
In C++, what's the difference between
char *a = new char[10];
and
char *a = new char(10);
Thanks!
The first allocates an array of 10 char's. The second allocates one char initialized to 10.
Or:
The first should be replaced with std::vector<char>
, the second should be placed into a smart pointer.
new char[10];
dynamically allocates a char[10] (array of char, length 10), with indeterminate values, while
new char(10);
again, dynamically allocates a single char, with an integer value of 10.