But the main reason it's not as clean is because it has had to maintain backwards compatibility with C, which is 40 years old now.
Ironically, had C++ been 'cleaner' and not as backwards compatible with C from the outset, then we probably would not be having this conversation today because no one would have ever adopted it. :)