Guest User

Untitled

a guest
Mar 19th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. // g++ -std=c++11 -o deque_shared_ptr_test deque_shared_ptr_test.cpp
  2.  
  3. #include <iostream>
  4. #include <deque>
  5.  
  6. using namespace std;
  7.  
  8. class Integer {
  9. private:
  10. int val_;
  11. public:
  12. Integer(int val) : val_(val) {}
  13.  
  14. int getVal() const { return val_; };
  15. };
  16.  
  17. int main() {
  18. deque<shared_ptr<Integer>> dq;
  19.  
  20. dq.push_back(make_shared<Integer>(1));
  21. dq.push_back(make_shared<Integer>(2));
  22. dq.push_back(make_shared<Integer>(3));
  23. dq.push_back(make_shared<Integer>(4));
  24.  
  25. cout << "[Before erase] dq.size() = " << dq.size() << endl;
  26.  
  27. Integer* p = dq[3].get();
  28.  
  29. dq.erase(dq.begin());
  30. dq.erase(dq.begin());
  31.  
  32. cout << "[After erase] dq.size() = " << dq.size() << endl;
  33.  
  34. cout << "Val = " << p->getVal() << endl;
  35.  
  36. return 0;
  37. }
Add Comment
Please, Sign In to add comment