🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: wywolanie

#31
From: pio... Piotr Auksztulewicz
Date: Wed, 08 Oct 1997 00:00
32 lines
1757 bytes
LUBLIN (oo...@telbank.pl) wrote:
: Pytanie dotyczy wlasciwie C++, ale moze tu znajde na nie odpowiedz...
: Zagadka :

: jak wywolac druga z metod zadeklarowana jako

: char* f();
: const char* f() const;

: w pewnym obiekcie (wcale nie statycznym) ?
: Domyslnie kompilator korzysta z pierwszej...

No w�a�nie. Te� mia�em taki problem. U mnie by�o co� takiego:

char & operator [] (int); [1]
const char & operator [] (int) const; [2]

Intencja jest prosta: nie modyfikuj obiektu, je�li nie musisz. U mnie by�a
to klasa String (do operacji na ci�gach znak�w, a jak�e) z implementacj�
"copy on write", tzn. przy kopiowaniu string�w nie odbywa�o si� �adne
fizyczne kopiowanie, jedynie kopiowa�o si� wska�niki (i zwi�ksza�o licznik
odwo�a�). Dopiero w momencie modyfikacji robiona by�a kopia ci�gu. Mia�o to
oszcz�dzi� pami�� i czas procesora (program robi� du�o operacji na stringach).

Wed�ug tego, co wyczyta�em (Stroustrup), to powinno dzia�a� tak jak my�l�.
Niestety Borland tego nie chwyta� (wtedy jeszcze chyba 3.1). Zawsze wo�a� [1].
Czyli ca�a filozofia mi posz�a w choler�. Nie pr�bowa�em innych kompilator�w.

--
Piotr Auksztulewicz                 pio...@zeus.polsl.gliwice.pl
Centrum Komputerowe Politechniki �l�skiej, Gliwice, Akademicka 16
Technical Details
Message-ID: <61gb75$sta@zeus.polsl.gliwice.pl>
Path: mbox-mo1.pugleaf.net!unknown!not-for-mail
References: <61g35e$28g@info.nask.pl>

Show Full Headers
Complete Article Headers
From: pio...@zeus.polsl.gliwice.pl (Piotr Auksztulewicz)
Subject: Re: wywolanie
Date: 1997/10/08
Message-ID: <61gb75$sta@zeus.polsl.gliwice.pl>
X-Deja-AN: 278798481
References: <61g35e$28g@info.nask.pl>
Organization: Politechnika Slaska, Gliwice
Newsgroups: pl.comp.lang.c
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit