Typy v C++

Pavel Kutina hw na prelude.cz
Pátek Leden 14 16:45:00 CET 2022


No nezbývá, než se naučit dávat si na to bacha :(

A ten rozdíl mezi unsigned int a uint16_t (uint8_t, uint32_t atd.) taky 
někdo umíte vysvětlit? Vyřval mne sscanf a tam jsem tio vzdal a příslušnou 
proměnnou deklaroval jako unsigned int (bohužel přslušná část kódu prošla 
demolicí, teď to nedokážu zrekonstruovat).

Jinak jaké je doporušení? Pro mne je deklarace přes ty přetypované _t 
přehlednější, ale nejspíš to nemusí být vždycky totéž.

Pavel Kutina


----- Original Message ----- 
From: "Jindroush" <jindroush na seznam.cz>
To: "HW-news" <hw-list na list.hw.cz>
Sent: Friday, January 14, 2022 4:30 PM
Subject: Re: Typy v C++


odpoved uz dosla s vysvetlenim... Jinak jsem to nacpal do
https://cppinsights.io/

a zaskrtl, at ukaze implicitni konverze, tam je to videt na vlastni voko
if((static_cast<unsigned int>(static_cast<int>(LastCounter) + 1)) == cnt) {

On 14.01.2022 16:13, Pavel Kutina wrote:
> Zdravím,
>
> opět něco nechápu, můžete mne poštouchnout?
>
> Píšu FW v STM Cube, mám deklarované dvě proměnné:
>
> unsigned int cnt = 0;
> uint16_t LastCounter = 0;
>
> při porovnání v:
>
> if (LastCounter+1 == cnt)
>
> mi to píše warning:
> ../src/receive.cpp:129:22: warning: comparison of integer expressions of 
> different signedness: 'int' and 'unsigned int' [-Wsign-compare]
> 129 | if ( (LastCounter+1) == cnt)
> | ~~~~~~~~~~~~~~^~~~~~
>
> Chápu dobře, že unsigned int a uint16_t nejsou znaménkově kompatibilní 
> typy? Proč ne?
>
> Na něco podbného jsem narazil před chvílí u sscanf, kde se mi to zase 
> vztekalo pri použití uint16_t (jsem tam měl) místo unsigned int (který to 
> chtělo).
>
> Popravdě, asi 90% času tohoto projektu trávím rovnáním datových typů, 
> hodne v tom plavu :(
>
> Díky.
>
> Pavel Kutina
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


-- 
Jindroush <jindroush na seznam.cz>

_______________________________________________
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