fork download
  1. #include <iostream>
  2. #include <map>
  3.  
  4. struct Foo {
  5. Foo(){};
  6. ~Foo(){std::cout << "Destructor of foo" << std::endl; }
  7. };
  8.  
  9. int main() {
  10. std::map<int, Foo> my_map;
  11. std::cout << "Gonna create a temporary of foo to copy assign" << std::endl;
  12. my_map.emplace(1, Foo());
  13.  
  14. std::cout << "1" << std::endl;
  15. my_map.clear();
  16. std::cout << "2" << std::endl;
  17. my_map[1] = Foo();
  18. return 0;
  19. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Gonna create a temporary of foo to copy assign
Destructor of foo
1
Destructor of foo
2
Destructor of foo
Destructor of foo