Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <memory>
- using namespace std;
- class Objekat
- {
- public:
- Objekat() { cout << "Objekat kreiran\n"; }
- ~Objekat() { cout << "Objekat unisten\n"; }
- };
- int main()
- {
- // kreiramo objekat
- Objekat *obj = new Objekat;
- // pravimo shared pointer za njega
- shared_ptr<Objekat> ptr1(obj);
- {
- shared_ptr<Objekat> ptr2(ptr1); // konstruktor kopije
- //Na ekranu ce se ispisati 2 jer sad 2 pokazivaca pokazuju na njega.
- cout << ptr1.use_count() << endl;
- }
- //Na ekranu ce se ipsisati 1 jer je ptr2 unisten i njegova referenca na obj vise ne postoji
- cout << ptr1.use_count() << endl;
- cout << "Kraj programa\n";
- return 0;
- } //Tek ovde ce se pozvati ~Objekat zato što smo izašli iz scope-a, i više niko ne pokazuje na obj.
Add Comment
Please, Sign In to add comment