I’ve been looking for a way to do safe vectors and maps of dynamic pointers, when I realized C++11 adds unique_ptrs. I looked into how to use them on Google, but have been unsuccessful in looking for details. What I need to know are the following:
- What, exactly, is different between pointers and
unique_ptrs besides automatic memory collection? - How would I go about removing a
unique_ptrfrom a vector or map? Is there any special code I have to use besides erasing the iterator?
unique_ptris just a wrapper around a pointer, which deletes the pointer when theunique_ptris destroyed. It has no overhead (just like theauto_ptrtemplate it replaces).unique_ptrinto the container.