And C++ adds it's own layer of fun. Templates are the work of the devil - get an arg wrong e.g. miss a const or a (de)reference, and the compiler might throw a wall consisting of hundreds of errors back at you. Not intuitive at all and certain not easy to step debug.
Doesn't mean the answer is Pascal but C/C++ was never designed for readability and any that exists is by the grace of the person who wrote the code rather than inherent to the language. Other languages do try a lot harder to enforce readability in the file structure and in the code itself. Python would be most famous for it but even enforcing filename = classname, path = namespace as seen in Java / C# gives more structure than you get in C.