So, I'd like to use smart pointers instead of raw and almost every topic on SO says about Boost library. But std has such things as std::auto_ptr and std::shared_ptr.
Why Boost? What is the difference?
It was a question not about difference of the implementation, but about reasons to use Boost pointers. I suppose, given answer, including date of answering and context, is reasonably useful. It helps to understand how Boost pointers were added to std.