Article View: pl.comp.lang.c
Article #31Re: wywolanie
From: pio... Piotr Auksztulewicz
Date: Wed, 08 Oct 1997 00:00
Date: Wed, 08 Oct 1997 00:00
32 lines
1757 bytes
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-mailReferences:
<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