Object-Oriented programming hardly produces error-prone, mangled code. In fact, I would say (And this is someone who came from only procedural programming to C++ around two years ago) that object-oriented programming reduces errors, nevermind making your code far more
if (Object.size() < Object.MaximumSize)
This code makes sense, rather than having to use weird structs and arrays, or collections of values that require commenting to explain the correlation. I also recently wrote an article on The Auto Variable
(A great new C++11 feature).
As a list, well, I'm not sure. Here are some (very useful) highlights:
- The Auto Variable
- Objects, in General
- auto pointers
- weak pointers
There are just far too many great C++(11) features. C hasn't been updated since 1999, also, which means many C++ features that are commonplace in many programming languages now might never reach C (However I hope they make a new standard, it's definitely rejuvinate the language).