-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.gazeta.pl!
not-for-mail
From: Paweł Kierski <n...@p...net>
Newsgroups: pl.comp.programming
Subject: Re: Co może robić konstruktor i dlaczego nie?
Date: Thu, 05 Jul 2012 07:56:56 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 45
Message-ID: <jt3ab8$gr8$1@inews.gazeta.pl>
References: <4ff4908d$0$1302$65785112@news.neostrada.pl>
<o...@a...home>
<4ff4a8dd$1$26700$65785112@news.neostrada.pl>
<jt2mjk$hud$1@mx1.internetia.pl>
NNTP-Posting-Host: 195.182.34.201
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1341467816 17256 195.182.34.201 (5 Jul 2012 05:56:56 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 5 Jul 2012 05:56:56 +0000 (UTC)
X-User: pkierski
In-Reply-To: <jt2mjk$hud$1@mx1.internetia.pl>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
Xref: news-archive.icm.edu.pl pl.comp.programming:198254
[ ukryj nagłówki ]W dniu 2012-07-05 02:16, Michoo pisze:
> On 04.07.2012 22:34, slawek wrote:
>> Różnica pomiędzy czymś takim (C++)
>>
>> int main() { Foo foo = new Foo; delete foo; return 0; }
>>
>> a czymś takim
>>
>> int main() { Foo foo = new Foo; foo.run(); delete foo; return 0; }
>>
> Foo().run();
>
Pytanie, dlaczego nie Foo::run(), czyli metoda statyczna, czyli zwykła
funkcja? Domyślam się, że z powodu dużego skomplikowania funkcji,
w szczególności dużo elementów stanu, czyli potrzeba w rozdzaju:
http://www.refactoring.com/catalog/replaceMethodWith
MethodObject.html
W C++ uważałbym na czas życia obiektu - lepiej nie przekazywać
zewnętrznym obiektom o dłuższym czasie życia nic związanego z this. Ale
tak samo byłoby w przypadku zwykłej funkcji.
Dodatkowo można jeszcze z takiego obiektu/funkcji zwracać wartość:
zamiast:
MyType foo(params);
class Foo
{
public:
Foo(params);
operator MyType(); // musi zwracać kopię - patrz wyżej
};
Można wtedy zamiast:
MyType myVar = foo(params);
pisać:
MyType myVar = Foo(params);
--
Paweł Kierski
n...@p...net
Następne wpisy z tego wątku
- 05.07.12 07:57 Paweł Kierski
- 05.07.12 08:29 slawek
- 05.07.12 08:32 slawek
- 05.07.12 08:42 Artur M. Piwko
- 05.07.12 09:17 Artur Muszyński
- 05.07.12 09:20 slawek
- 05.07.12 09:38 slawek
- 05.07.12 10:21 Maciej Sobczak
- 05.07.12 10:43 s
- 05.07.12 10:40 s
- 05.07.12 11:20 Jordan Szubert
- 05.07.12 11:37 Roman W
- 05.07.12 13:38 AK
- 05.07.12 13:38 Andrzej Jarzabek
- 05.07.12 15:36 Paweł Kierski
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-11 Wyważanie kół rowerowych
- 2024-11-11 Kosz, gdzie??
- 2024-11-11 Coraz mniej ludzi robi prawo jazdy
- 2024-11-11 Opole => SAP HANA Cloud Dev / Data Engineer <=
- 2024-11-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-11-11 Lublin => Senior PHP Developer <=
- 2024-11-11 Marki => Senior PHP Symfony Developer <=
- 2024-11-11 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-11 Gliwice => Specjalista ds. public relations <=
- 2024-11-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-11 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-11-11 Warszawa => Sales Development Representative (in German) <=
- 2024-11-11 Marsz niepodległości
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa