Does Boost Library internally does Reference counting for most of its internal objects ?

 

Does it also use it’s shared_ptr kind of Smart pointer implementation internally ?

 

Sorry for my ignorance, but isn’t there any cleaner Smart Pointer implementation where we don’t have to use new every time initiating object and smart pointer becomes part of the class rather that separate implementation like following –

 

shared_ptr sp(new int(5));