Új hozzászólás Aktív témák
-
b.kov
senior tag
válasz
m.zmrzlina #3939 üzenetére
Mondjuk szélsőséges esetben túlcsordul az int változó, és a legnagyobb felvett értéke után megnöveled -> felveszi a lehető legkisebb értéket (valami mínusz szám, attól függ, hány byte-on van ábrázolva). Ez ugye akkor probléma, ha pl. az arr.size() nagyobb, mint az int változó maximálisan felvehető értéke.
És konkrétan így nézne ki (egy általános esetben):
i = 0, i = 1, ... , i = 32767 , i = –32767 , ... , i = 32767 -> végtelen ciklus, ha pl az arr.size() nagyobb, mint 32767 . De mégegyszer említem, ez elég szélsőséges eset.Próbálj minél pontosabb típusokat használni, szebb, később olvashatóbb kódot fogsz így írni, illetve elkerülöd a warningokat (amiket pont az ilyen esetek miatt szeretünk).
Szerk.: igen, az előttem szólóhoz hozzákapcsolódva, size_t-vel jobban jársz.
-
dabadab
titán
válasz
m.zmrzlina #3939 üzenetére
"Az a kérdésem, hogy mi a gyakorlat ebben az esetben?"
Az, hogy az i-t size_t-ként deklaráljuk.
"Milyen hibákat okozhat ha int-ként definiálom?"
Ez két esetben okoz hibákat:
1. amikor ugyanarra a bináris reprezentációra az int meg az unsigned int más értéket ad (vagyis ha a size érték eléri a 2^31-et, és a signed int negatív számot ad, az unsigned meg pozitívat)
2. illetve létezik az a probléma is, amikor a (64 bites) size_t nem fér bele a 32 bites intbe
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen billentyűzetet vegyek?
- E-roller topik
- Kerékpársportok
- Xbox Series X|S
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Multifunkciós adattároló érkezett a Patriot színeiben
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Renault, Dacia topik
- EAFC 25
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
- Huawei Nova Y90 128GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó szép állapotban levő Apple iPhone 8 Plus 64GB / 12 hónap jótállás
- Windows! Logitech Mx Keys Magyar!
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest