Re: Ukazka C++ pro děti
Pavel Brychta
pavel.brychta na duhasys.eu
Čtvrtek Duben 1 08:48:36 CEST 2021
Ano, mnoho jazyků má nativní typ string, akorát že není string jako
string a Unicode encoded string do toho hodil těmto jazykům vidle - viz
třeba Python 2.X stringy oproti Python 3.X stringy... Prostě problémy
najdu všude, pokud je hledám.
Pavel Brychta
Dne 01. 04. 21 v 8:42 Jiří Nesvacil napsal(a):
> 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
>
Další informace o konferenci Hw-list