🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #307949

Sprytne wskaźniki

#307949
From: Borneq
Date: Sun, 13 Dec 2015 09:06
17 lines
1820 bytes
Jak za pomocą sprytnych wskaźników dobrze napisać przykład, gdzie pole 
jednej struktury wskazuje na drugą a drugiej, może nie bezpośrednio na 
pierwszą?
Jedna sytuacja to rodzaj "drzewiastości", gdzie typ jednego pola 
wskazuje na podległe obiekty a może istnieć pole drugiego typu w rodzaju 
owner,parent.
Druga sytuacja to linked list, która to lista może być cykliczna.
W łańcuchach znaków może z powodzeniem być zliczanie referencji, 
ponieważ nie ma tam pól wskazujących na inne struktury.
Mamy tu pewien narzut, bo w systemie 64-bitowych, zarówno licznik 
referencji jak i pole długości stringa powinny być 64 bitowe.

W książce o Boost jest przykład, gdzie przydają się nawet te prostsze 
klasy jak scoped_ptr: klasa ma pole wskaźnikowe, podczas wołania 
konstruktora nastąpił wyjątek po przydzieleniu pamięci do tego pola. 
Destruktor nie zostanie wywołany, ale gdy mamy sprytne wskaźniki, to 
może zostać zwolnione pamięć wskazywana przez to pole.
Technical Details
Message-ID: <n4jcd8$d8m$1@node1.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Borneq <borneq@antyspam.hidden.pl>
Newsgroups: pl.comp.lang.c
Subject: Sprytne wskaźniki
Date: Sun, 13 Dec 2015 10:06:14 +0100
Organization: ATMAN - ATM S.A.
Lines: 17
Message-ID: <n4jcd8$d8m$1@node1.news.atman.pl>
NNTP-Posting-Host: 91.239.205.105
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1449997544 13590 91.239.205.105 (13 Dec 2015 09:05:44 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Sun, 13 Dec 2015 09:05:44 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
X-Mozilla-News-Host: news://news.atman.pl:119
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit