Sure it's not as easy as 'allocate and forget ,' but you won't have the (sometimes very costly) expense of full-blown garbage collection.
You can optimize your smart pointers for individual types (through template specialization).