🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #4611

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

#4611
From: Adam Karpierz
Date: Tue, 19 Jan 1999 07:48
70 lines
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-mail
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>

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