Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // g++ -std=c++11 -o deque_shared_ptr_test deque_shared_ptr_test.cpp
- #include <iostream>
- #include <deque>
- using namespace std;
- class Integer {
- private:
- int val_;
- public:
- Integer(int val) : val_(val) {}
- int getVal() const { return val_; };
- };
- int main() {
- deque<shared_ptr<Integer>> dq;
- dq.push_back(make_shared<Integer>(1));
- dq.push_back(make_shared<Integer>(2));
- dq.push_back(make_shared<Integer>(3));
- dq.push_back(make_shared<Integer>(4));
- cout << "[Before erase] dq.size() = " << dq.size() << endl;
- Integer* p = dq[3].get();
- dq.erase(dq.begin());
- dq.erase(dq.begin());
- cout << "[After erase] dq.size() = " << dq.size() << endl;
- cout << "Val = " << p->getVal() << endl;
- return 0;
- }
Add Comment
Please, Sign In to add comment