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;
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;
Jest to kategorycznie zabronione. std::shared_ptr
wywołuje w swoim destruktorze delete
na przetrzymywanym wskaźniku. Spowodujesz tylko crash programu.
#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;
}