Na tej stronie (http://www.cplusplus.com/reference/memory/shared_ptr/), pkt 5, mówi:Do czego służy aliasing konstruktora shared_ptr?
Dodatkowo shared_ptr obiekty mogą udostępniać własność nad wskaźnikiem, gdy w tym samym czasie, wskazując na inny obiekt. Ta umiejętność jest znana jako aliasing (patrz konstruktory) i jest powszechnie używana do wskazywania obiektów członkowskich podczas posiadania obiektu, do którego należą. Z tego powodu, o shared_ptr może odnosić się do dwóch wskaźników:
A zapisany wskaźnik, który wskaźnik jest powiedziane, aby wskazać, a ten to dereferences z operatorem *.
Własny wskaźnik (prawdopodobnie udostępniony), który jest wskaźnikiem, który grupa własności jest odpowiedzialna za usuwanie w pewnym momencie i dla którego liczy się jako użycie.
ogół przechowywane wskaźnik i posiadanych wskaźnik odnosi się do tego samego obiektu ale alias shared_ptr obiektów (te skonstruowane z konstruktora ps i ich kopii) może odnosić się do różnych obiektów.
Następnie czytam tę stronę (http://www.cplusplus.com/reference/memory/shared_ptr/shared_ptr/) o konstruktorze aliasingu shared_ptr. Ale nadal uważam, że to zachowanie "aliasingowe" jest mylące. Dlaczego jest tutaj? Po co to jest? W jakiej sytuacji chciałbym tę funkcję?
Z własnego cytatu: "[aliasing] jest zwykle używany do wskazywania obiektów członkowskich, podczas gdy posiadają obiekt, do którego należą." – hvd
powinieneś już znać aliasing, ponieważ zarówno C jak i C++ pozwala domyślnie na aliasowanie, nawet bez uwzględnienia 'shared_ptr', w którym używasz już języka, który domyślnie umożliwia aliasing. – user2485710
@hvd yes. Zauważyłem to później, gdy opublikowałem to pytanie. Ale nadal nie jest wystarczająco precyzyjny. – lqr