Jak ustawic shared_ptr na obiekt tego samego typu?

0

Witam,
w jaki sposób możemy ustawic taki wskażnik na już istniejący obiekt? Cos jak na przykladzie zwyklego wskaznika

int  a=5;
int *wsk;
wsk = &a;
3

Jest to kategorycznie zabronione. std::shared_ptr wywołuje w swoim destruktorze delete na przetrzymywanym wskaźniku. Spowodujesz tylko crash programu.

2
#include <iostream>
#include <memory>
using namespace std;

int main() {
	int a = 6;
	int *ptr = &a;
	{
		auto sptr = shared_ptr<int>(ptr, [](int *){});
		cout << *sptr;
	}
	cout << a << *ptr;
	return 0;
}

http://ideone.com/e0a48g
666

1 użytkowników online, w tym zalogowanych: 0, gości: 1