I strongly disagree with the author, and I suspect he is biased for the "old school" C++ (as he called it). For instance:
>make sure you've got destructors.
Objects allocated on the stack are guaranteed to be destroyed and hence their destructors to be called. Which is very convenient if those objects are owners of a resource (like a DB connection).
>"and then that's made more complex by templates, object lifecycles, exception rules, etc.."
Object lifecycle are well defined but if all is an OOP problem not a C++ one.
As for the rest, the beauty of C++ is that if there is something that doesn't apply to your project, then you don't use it. Your are not required to use exceptions or templates if you don't want to.
> "Frankly C++ doesn't have better memory management than C, it just has more complex management"
Again, if you want to it can be complex, or it can be the same management you would do in C. That's a flexibility that simply you don't have in C.