Article View: pl.comp.objects
Article #4611Re: Referencje (Re: Prawda o C++)
From: Adam Karpierz
Date: Tue, 19 Jan 1999 07:48
Date: Tue, 19 Jan 1999 07:48
70 lines
3255 bytes
3255 bytes
Marcin Swiatek wrote:
>Gdybym mial, na przyklad, opracowac "framework" C++, wyposazony w
>"smieciarke", pewnie chcialbym cos zrobic ze wskaznikami do wlasnych
>obiektow. Pewnie jednym z pierwszych pomyslow byloby zastapienie ich
>jakimis "obiekcikami", ktorych celem byloby wprowadzenie dodatkowego
>elementu posredniczacego, ktory ... itd.
Zgadzam sie w zupelnosci. Dodam tylko od siebie ze przynajmniej
w moim przypadku chec rezygnacji z wskaznikow na rzecz referencji
w C++ jest az nazbyt trywialna i podyktowana wlasciwie trzema rzeczami
1. Zabezpieczeniem sie przez wykorzystywaniem wszedzie gdzie
popodnie arytmetyki na wskaznikach. I to o dziwo czeste wlasnie
u poczatkujacych programistow (szpan taki czy co ?).
Ja czesto spotykam cos w rodzaju (bo "podobno" bardziej optymalnie):
Klasa zm [ilosc];
int i = ilosc;
Klasa * pzm = zm;
while ( i-- )
(pzm++)->metoda(...);
zamiast najnormalniejszego w swiecie:
Klasa zm [ilosc];
for ( int i = 0; i < ilosc; ++i )
zm[i].metoda(...);
2. Chec ujednolicenia zapisow poprzez unikniecie koszmaru mieszania
operatorow -> i .
Prywatnie analiza i pamietanie konstukcji typu
aaa->bbb.ccc->.ddd->eee.fff.ggg->
i ciagle z tym pomylki zeraja mi mnostwo czasu
(ze o nerwach i czytelnosci juz nie wspomne).
3. chec korzystania z konstrukcji np. typu:
/neistety (w ogolnosci) nie do zrealizowania w C++/.
Klasa & ref;
...
ref = (cos tam) ? obiekt1 : obiekt2;
...
ref.metoda1();
ref.metoda2();
itp..
zamiast:
Klasa * ptr;
...
ptr = (cos tam) ? &obiekt1 : &obiekt2;
...
ptr->metoda1();
ptr->metoda2();
itp..
No bo i po coz wykonywac adresowanie ?
Po co ono tu potrzebne ?.
Pozdrawiam
--
Adam Karpierz
Poszukuje stalej pracy, moje dane:
http://www.adares.alpha.pl/cv.htm
Technical Details
Message-ID:
<781dfs$9bn$1@zeus.polsl.gliwice.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!news.man.poznan.pl!polsl.gliwice.pl!not-for-mailReferences:
<77o3bl$j0q$1@polonez.man.lodz.pl> <369FDDCE.7B94748A@interdata.com.pl> <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> <36A3650C.F430914E@sympatico.ca>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.man.torun.pl!news.icm.edu.pl!news.man.poznan.pl!polsl.gliwice.pl!not-for-mail From: "Adam Karpierz" <karpierz@itl.pl> Newsgroups: pl.comp.objects Subject: Re: Referencje (Re: Prawda o C++) Date: Tue, 19 Jan 1999 08:48:21 +0100 Organization: Politechnika Slaska, Gliwice Lines: 73 Message-ID: <781dfs$9bn$1@zeus.polsl.gliwice.pl> References: <77o3bl$j0q$1@polonez.man.lodz.pl> <369FDDCE.7B94748A@interdata.com.pl> <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> <36A3650C.F430914E@sympatico.ca> Reply-To: "Adam Karpierz" <karpierz@itl.pl_te_spamy_wykoncza_mi_kiedys_nerwy> NNTP-Posting-Host: ppp211.intertele.pl X-Newsreader: Microsoft Outlook Express 4.72.3110.1 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit