fork download
  1. #include <iostream>
  2. #include <map>
  3. #include <memory>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. struct object {
  8. };
  9.  
  10. enum type {
  11. TYPE0,
  12. TYPE1
  13. };
  14.  
  15. typedef std::map<type, std::vector<std::unique_ptr<object> > > long_type;
  16. static long_type m_objects;
  17.  
  18. int main() {
  19.  
  20. std::vector<std::unique_ptr<object>> vec;
  21. vec.push_back(std::move(std::unique_ptr<object>(new object))); // make_unique in C++14
  22.  
  23. m_objects.insert(std::pair<type, std::vector<std::unique_ptr<object>>>(TYPE0, std::move(vec)));
  24.  
  25. long_type::iterator it = m_objects.find(TYPE0);
  26.  
  27. m_objects.erase(it);
  28.  
  29. cout << m_objects.size(); // 0
  30.  
  31. return 0;
  32. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
Standard output is empty