I've recently started using boost. So far most things have been pretty straight forward. But one thing that is driving me nuts is the proliferation of shared_ptr throughout boost. Even in trivial examples, shared_ptr is used.
So my question is, if I am using boost for accepting tcp connections and then handling them. As long as I guarantee that the objects created on the heap (the boost::asio::ip::tcp::socket, and the class that will be called back for async methods) will not be deleted until I am done using tcp, then I don't need shared_ptr correct?
I've written a simple tcp server and client, not using shared ptr, it works. But I'd just like some outside confirmation that my assessment is correct.
Also, in your experience have you ever had a need to use shared_ptr to appease boost?