• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Inteligentne wskaźniki

Aruba Cloud - Virtual Private Server VPS
0 głosów
143 wizyt
pytanie zadane 12 maja 2020 w C i C++ przez amtrax Dyskutant (9,630 p.)

Cześć, 

zastanawiam się dlaczego taka instrukcja działa  dla shared_ptr, ponadto mam kilka pytań zapisanych w komentarzach: 
 

shared_ptr<double> ss(new double (6.4)) ;

cout<<shared<<std<<endl; //Czy pokazuje adres wartości, która jest w obiekcie?
cout<<&shared;    //Czy pokazuje adres obiektu? 

Taka sama instrukcja dla unique_ptr nie działa. Czy jest ktoś w stanie wyjaśnić dlaczego?

 

Pozdrawiam 

2 odpowiedzi

+2 głosów
odpowiedź 12 maja 2020 przez j23 Mędrzec (195,240 p.)

Nie działa dla std::unique_ptr, bo nie ma - w przeciwieństwie do std::shared_ptr - przeciążonego operatora << dla tego typu wskaźników.

1
komentarz 12 maja 2020 przez tkz Nałogowiec (42,020 p.)
Ma, od c++ 20. Co innego, że kompilator autora tego nie wspiera.
0 głosów
odpowiedź 12 maja 2020 przez TOM_CPP Pasjonat (22,640 p.)

Inteligentne wskaźniki tworzymy używając make_unique i make_shared. Funkcja get() zwraca normalny wskaźnik do utworzonego obiektu.

    auto shared = std::make_shared<double>(5.8);
    auto ptr = shared.get();  // zwykły wskaźnik do double

    std::cout << *shared       << std::endl; // wartość obiektu
    std::cout << *shared.get() << std::endl; // wartość obiektu
    std::cout <<  shared.get() << std::endl; // adres obiektu na stercie
    std::cout <<  ptr          << std::endl; // adres obiektu na stercie

 

Podobne pytania

0 głosów
1 odpowiedź 443 wizyt
pytanie zadane 29 stycznia 2021 w C i C++ przez PoProstuAndrzej Nowicjusz (170 p.)
0 głosów
1 odpowiedź 550 wizyt
0 głosów
2 odpowiedzi 183 wizyt
pytanie zadane 24 lipca 2018 w C i C++ przez MarcinGuziorHombre Początkujący (320 p.)

93,327 zapytań

142,325 odpowiedzi

322,396 komentarzy

62,657 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...