-
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
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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
Najnowsze wątki
- 2024-12-25 Wrocław => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-25 Warszawa => Sales Assistant <=
- 2024-12-25 Kraków => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-25 Lublin => System Architect (Java background) <=
- 2024-12-25 Szczecin => Specjalista ds. public relations <=
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-25 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-25 Białystok => Delphi Programmer <=
- 2024-12-25 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-25 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2024-12-25 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie