Re: Ukazka C++ pro děti

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Čtvrtek Duben 1 15:23:24 CEST 2021


Myslim, ze pojmem callback se mysli neco jineho, nez virtualni funk... 
sry metody. Ty bych spis prirovnal k ukazatelum na funkce, ktere v 
klasickem C byvaji soucasti datovych struktur a to umoznuje v podstate 
totez - podle konkretniho obsahu struktury, ktera muze byt univerzalni 
treba pro vice zarizeni, nebo obsahuje nejakou spolecnou zakladni 
podstrukturu a v ni se nastavi ukazatel ne prislusnou funkci majici 
stejne parametry... V podstate se tak da docela dobre simulovat to 
objektove programovani, jen to neni automaticky a musi se u toho premyslet.
Callback je podle me spis neco jako event treba v C#, v C++ je asi take 
neco takoveho, proste se nastavi nejaky ukazatel na nejakou funkci a ta 
se pak vola pri nejake udalosti.

Dne 01.04.2021 v 13:56 Jiří Nesvacil napsal(a):
> K tomu zjednodušení ještě vidím v základu minimálně:
>
> a/ V C definujete a používáte callback. Ten zápis je poměrně šílený a 
> zdrojem chyb. Místo toho máte v c++ virtaul tj. před název 
> metody(funkce) napíšete tohle jedno slovo a v potomku si každý ten 
> callback napíše tj. jen opíše definici metody. Tím, že to je takto 
> snadné, tak vzniká spoustu metod OnNěco... .
>
> b/V C se odkazujete "." nebo "->" pokud přejdete na referencované 
> argumenty, tak použijete všude jen "." a máte zase o jednu starost méně.
>
> c/Místo globálních proměnných dáte vše do objektu. Pokud potřebujete 
> použít vícekrát, máte vyhráno... .
>
> Jirka
>
>
>> Ano, máte pravdu - já jsem také odkojený assemblerem pro MCS48 a 
>> přechod C->C++ mi nejvíce usnadnilo to, že jsem si uvědomil, že 
>> původní C++ byl jen preprocesor k C, takže každý objekt je jen shluk 
>> procedur a funkcí (ano, některé jsou trošku speciální, volané 
>> "neviditelně") a datová struktura a všechno tohle drží pohromadě 
>> magický ukazatel this. Kompilátor ví, co k čemu patří a zavolá 
>> odpovídající proceduru/funkci, které podstrčí právě ten neviditelný 
>> this ukazatel ke zbytku argumentů. Jasně, je to zjednodušené, ale pro 
>> základní pochopení si myslím, že to stačí.
>>
>> Pavel Brychta
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>



Další informace o konferenci Hw-list