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