In C++, what is the difference between `new int` and `new int[1]`?
I am currently learning C++ and am struggling to understand what the difference is between the following two lines of code:
int* a = new int;
int* b = new int[1];
As far as I understand, both statements return an int pointer and only allocate space for 1 int on the heap. So, is there any practical difference between them, or are they just synonyms?