c++ is a big language with big grammar, as such offers a lot of different ways to say the same thing. each different construct is understood by a different set of code-readers, same way as in a complex human language. commenting c++ code is part of writing c++ due to this complexity, in my practice.
in a complex grammar, the order of words makes a difference and certain relation of grammatical constructs must be obeyed to remain comprehensive and understandable by most people.
communications using formal grammar makes it more understandable, versus slang. however both formal and informal convey the same information for the respective group of people.
in a programming language, pondering publicly about good and bad practices and their merit helps reading code, of course, with comments.