Ha számokat adunk össze C++ nyelven, akkor a kicsi és nagy számok összeadása között van különbség időben?
De az int is egy osztály nem? csak alapvető szintű.
Egy osztály műveletei is programozva vannak nem? Például egy double x, y=0; esetén az x+y meghívja a double::+ operátort, és én azt gondolnám, hogy abban van egy if arra az esetre, ha az egyik változó 0.
Egyfelől nincsenek ilyen függvények, a beépített típusok nem osztályok. Próbálj meg leszármaztatni belőlük.
Másfelől ha lennének is, szerinted melyik a rövidebb:
int operator+(int a, int b)
{
if (a == 0)
return a;
if (b == 0)
return b;
return a + b;
}
vagy
int operator+(int a, int b)
{
return a + b;
}
No, és ez a különbség assembly szinten is megjelenik, a feltételvizsgálat nincs ingyen ám. Ráadásul ugye feltételes ugrást tesz bele, tehát szétcseszheti a pipelinet ha a proci rosszul tippelte meg a döntést.
"int operator+(int a, int b)
{
if (a == 0)
return a;
if (b == 0)
return b;"
Te is benézted, nem csak a kérdező :D
Na mind1, nem kötözködni akarok :D
Az viszont tény, hogy kérdező, pls ne akadékoskodj, ha már megérteni nem vagy képes, legalább hidd el, hogy nekünk van igazunk :D
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!