Re: not-so-smart with pointers
"smart pointers are for programmers that understand when to let the language do their work for them."
Smart pointers aren't part of the language. Nor are strings or a bunch of other things that other languages take for granted.
Instead they're implemented by templates. While that's better than nothing it's certainly not as good as proper intrinsic types that can be checked by the compiler, generate efficient code and meaningful errors during compilation.