Re: Ukazka C++ pro děti

Jiří Nesvacil nesvacil na posys.eu
Čtvrtek Duben 1 08:42:21 CEST 2021


String je taková vyjímka. Mnoho jazyků má string za nativní typ tj. typ 
plně podporovaný jazykem. V C C++ nic takového není. Tak se na udělalo 
přetížení operatrů- Obecně přepisování operátorů se úmyslně vyhýbá kde 
jaký jazyk. I ten Pascal měl stringy lépe než je to C,C++. Stringy v 
C,C++ chápu jako jednu z nejhorších věcí. Když by na to byl aspoň 
vyčleněn typ. Takto se typ char používal jako byte a je z toho problém 
respektive další nečekané věci.

Jirka

Jirka

Dne 01.04.2021 v 8:31 Pavel Brychta napsal(a):
> Nemyslím si, že přetížení operátorů je nešvar a že přepsání přes 
> metody je "vždycky" čitelnější - například zrovna Vámi zmiňovaná třída 
> String - díky přetíženému operátoru [] můžete zapsat char c = s[5]; , 
> což považuji za přehlednější zápis než char c = s.getChar(5); Ale 
> možná to je jen věc vkusu...
>
> Pavel Brychta
>
> Dne 01. 04. 21 v 8:20 Jiří Nesvacil napsal(a):
>>
>> Templates jsou užitečné. Přetížení operátorů chápu za nešvar. Pokud 
>> je na tom něco založeno, tak Ano. Vždycky se to dá přepsat přes 
>> metodu Add a je to čitelnější.
>>
>> Obecně co je v novějším jazyku podpořeno je automatická likvidace 
>> paměti např. ten string, který se jinak v C špatně dělá. Pro embedded 
>> je to ovšem skoro špatně, tak si to chcete spíš více hlídat, teda 
>> pokud nemáte hodně paměti ... .
>>
>> Pokud se ten kód má udržovat nebo myslet na to, že se přepíše i do 
>> jiného jazyku, tak se zkoumá, která vlastnost jazyku se dá využít a 
>> přenésti jinam.
>>
>> Jirka
>>
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

-- 
Tento e-mail byl zkontrolován na viry programem AVG.
http://www.avg.cz



Další informace o konferenci Hw-list