<stdbool.h>/C23 bool/true/false; was: goto considered harmful; was: ceckovy kviz 2 (hardcore)

Pavel Hudeček edizon na seznam.cz
Pátek Září 8 13:27:30 CEST 2023


Mě se třeba true a false nikdy nelíbilo:-)
Všude kde to jde, což je skoro všude, tak místo toho většinou píšu 0 nebo 1.
Navíc při častém střídání C++ a Py nastává problém True vs true, s 0/1 
tohle odpadá.

Nejsympatičtější mi byl typ bit, co si do C dodělali v CodeVisionAVR. 
Navíc pro MCU prostředí s výhodou, že je to opravdu jen jeden bit.

PH

Dne 08.09.2023 v 13:11 Jan Waclawek napsal(a):
> No zakladny problem v tom C je, ze ten _Bool je dodatocny hack, a je to
> celociselny typ.
>
> V "lepsich" jazykoch je to jednoducho iny nez celociselny typ, takze veci
> ako porovnanie neprichadzaju (bez explicitneho pretypovania, napr. cez
> ord()) do uvahy, takze toto jednoducho nie je otazka.
>
> Lenze v C, kedze to je celociselny typ, da sa s nim robit aritmetika
> (vratane porovnania s inymi celociselnymi hodnotami) a treba mu priradit
> hodnotu; no a 0 aj 1 sa daju reprezentovat vo vsetkych ostatnych
> celociselnych typoch, takze tam je najmenej problemov pri konverziach.
>
> wek
>
> ----- Original Message ---------------
>
> Jeste jsem nad tim dumal a rikam si, proc je true dano jako 1? Jedine,
> co me napada, je kvuli porovnani, ale kdo by to delal?
>
> Ziju v tom, ze ve drevnich dobach se definovalo FALSE 0 a TRUE !FALSE
> (nebo 1!=0 a 1==1) a pak se na vyhodnocovani pouzivaly jen 'kratke' ify
> a boolovska logika, proto mit TRUE definovano jako 1 neni vlastne k nicemu.
>
> tj. kdo pise if( result == true ) vs if( result )?
>
> J.
>
> _______________________________________________
> 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