It is just a question of syntax sugar. C++ designers have
typically extended the verbosity of C. BTW, Java has also taken
most of the verbose features of C (like C++):
* Why it was made that statements must be separated with semicolon
even when those are not on same line?
* Why there are mandatory parentheses around arguments of if, for,
while and switch?
* Why one needs to write "break" for each case of switch instead
of having keyword for (ultra rarely needed) fall-through?
* and so on ... same for C++ and Java
What I think (YMMV) that it does not really matter much.
We can gnaw out few characters here or there but what is
the gain? It is so in C and it works so why to change it?
The result may be even confuses someone. Some people even add
redundant characters voluntarily. They put parentheses around
return value or argument of sizeof or argument of throw.
They add redundant "this->" to member accesses in member
functions. They feel that more characters there helps them to
read the code.
The actual problems to solve are always likely elsewhere.