-
Data: 2012-07-05 07:56:56
Temat: Re: Co może robić konstruktor i dlaczego nie?
Od: Paweł Kierski <n...@p...net> szukaj wiadomości tego autora
[ pokaż wszystkie 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-13 Filtr do pompy ruskiej
- 2024-11-12 Gdzie kosz?
- 2024-11-13 elektrycznie
- 2024-11-12 Jebane kurwa, kurwy.
- 2024-11-13 karta parkingowa
- 2024-11-13 Wl/Wyl (On/Off) bialy/niebieski
- 2024-11-12 I3C
- 2024-11-13 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2024-11-13 Łódź => Senior SAP HANA Developer <=
- 2024-11-13 Zabrze => Senior PHP Symfony Developer <=
- 2024-11-13 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-13 Kraków => QA Inżynier <=
- 2024-11-13 Żerniki => Dyspozytor Międzynarodowy <=
- 2024-11-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-11-13 Lublin => Delphi Programmer <=