🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #4614

Re: Referencje (Re: Prawda o C++)

#4614
From: Marcin 'Qrczak' Kowalczyk
Date: Mon, 18 Jan 1999 20:54
33 lines
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-mail
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>

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