Advertisement
bkuhns

C++ list 98 v. 11

Sep 10th, 2012
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. // C++98
  2. void erase_person (person *ptr) {
  3.     std::list <person*>::iterator it;
  4.     for (it = people.begin(); it != people.end(); ++it) {
  5.         if (*it != ptr)
  6.             continue;
  7.         people.erase(it);
  8.         break; // assume person is only linked once
  9.     }
  10. }
  11.  
  12. // C++11
  13. void erase_person(const person& per)
  14. {
  15.     remove_if(people.begin(), people.end(), [](shared_ptr<person> cur_per) {
  16.         return per == cur_per;
  17.     });
  18. }
  19.  
  20. // C++11 using O(log n) algo
  21. void erase_person(const person& per)
  22. {
  23.     erase(find_if(people.begin(), people.end(), [](shared_ptr<person> cur_per) {
  24.         return per == cur_per;
  25.     }));
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement