Article View: pl.comp.objects
Article #4614Re: Referencje (Re: Prawda o C++)
From: Marcin 'Qrczak' Kowalczyk
Date: Mon, 18 Jan 1999 20:54
Date: Mon, 18 Jan 1999 20:54
33 lines
3116 bytes
3116 bytes
On Mon, 18 Jan 1999, Michal Mosiewicz wrote:
> A widzisz potrzebę istnienia struktur, których jedynym celem jest
> wprowadzenie dodatkowego elementu pośredniczącego?
Dla mnie to jest po prostu sposób na implementację wskaźnika, jeśli
język sam z siebie oferuje tylko referencje. Ogólnie wolę jak najmniej
wbudowywać w kompilator, jeśli bez utraty efektywności można coś
zaimplementować w modułach / bibliotekach napisanych w tym języku.
Język robi się wtedy IMHO bardziej elegancki.
> Czy znasz jakiś problem nierozwiązywalny bez podpierania się taką
> strukturą? A może istnieje problem, gdzie taka konstrukcja podnosi
> wydajność algorytmu?
Wskaźniki są z kolei używane do implementowania innych typów, np. list.
Można samymi referencjami (o ile w danym języku wolno je przestawiać na
inne obiekty), ale wskaźniki dają czasem czytelniejszy kod (jeśli więcej
operujemy na samych adresach niż na obiektach przez nie wskazywanych).
Można oczywiście założyć, że wszystkie przydatne struktury danych będą
wbudowane w kompilator, ale wolę inne podejście.
Moją obserwacją jest to, że przy odpowiednim traktowaniu referencji
będących składowymi struktur (inaczej niż w C++, gdzie nie można przypisać
takiej struktury) wskaźniki stają się równoważne szczególnemu przypadkowi
jednoelementowej struktury - można je wyrazić innymi środkami języka,
bez specjalnego traktowania ich przez kompilator jako szczególny typ.
--
__("< Marcin Kowalczyk * qrczak@knm.org.pl http://kki.net.pl/qrczak/
\__/ GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-
Technical Details
Message-ID:
<Pine.LNX.4.05.9901182130180.542-100000@qrnik.knm.org.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.nask.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mailReferences:
<77q41i$j7f$1@polonez.man.lodz.pl> <wU3o2.25549$U1.4744058@news.tpnet.pl> <77qi2q$42a$1@polonez.man.lodz.pl> <77qk38$ken$1@zeus.polsl.gliwice.pl> <Pine.LNX.4.05.9901161958290.396-100000@qrnik.knm.org.pl> <36a27542.0@news3.ibm.net> <Pine.LNX.4.05.9901180659020.6379-100000@qrnik.knm.org.pl> <77upi3$saj$1@zeus.polsl.gliwice.pl> <Pine.LNX.4.05.9901181049150.351-100000@qrnik.knm.org.pl> <36A34000.764E7B8@interdata.com.pl> <77vjok$7aj$1@h1.uw.edu.pl> <36A361A1.69764717@interdata.com.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.nask.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail From: Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl> Newsgroups: pl.comp.programming,pl.comp.objects Subject: Re: Referencje (Re: Prawda o C++) Organization: Klub Nieszkodliwych Manjaków Lines: 34 Message-ID: <Pine.LNX.4.05.9901182130180.542-100000@qrnik.knm.org.pl> References: <77q41i$j7f$1@polonez.man.lodz.pl> <wU3o2.25549$U1.4744058@news.tpnet.pl> <77qi2q$42a$1@polonez.man.lodz.pl> <77qk38$ken$1@zeus.polsl.gliwice.pl> <Pine.LNX.4.05.9901161958290.396-100000@qrnik.knm.org.pl> <36a27542.0@news3.ibm.net> <Pine.LNX.4.05.9901180659020.6379-100000@qrnik.knm.org.pl> <77upi3$saj$1@zeus.polsl.gliwice.pl> <Pine.LNX.4.05.9901181049150.351-100000@qrnik.knm.org.pl> <36A34000.764E7B8@interdata.com.pl> <77vjok$7aj$1@h1.uw.edu.pl> <36A361A1.69764717@interdata.com.pl> Mime-Version: 1.0 In-Reply-To: <36A361A1.69764717@interdata.com.pl> Date: Mon, 18 Jan 1999 20:54:02 GMT NNTP-Posting-Host: 195.205.246.23 X-Complaints-To: abuse@tpsa.pl X-Trace: news.tpnet.pl 916692842 195.205.246.23 (Mon, 18 Jan 1999 21:54:02 MET DST) NNTP-Posting-Date: Mon, 18 Jan 1999 21:54:02 MET DST Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit