C++ ban mit jelent, amikor egy függvényben & operátorral hívunk meg egy számot?
int setBit(int& number, int order);
Ez mi? És hogy kell meghívni?
Készítsen függvényt, amely beállítja egy egész szám adott sorszámú bitjét 1-re.
Az érték szerinti és cím szerinti paraméterátadásnak nézz utána.
A lényeg, hogy a number az eredeti paraméter értékére mutat, azt lehet megváltoztatni vele. Ha nem lenne ott az & jel, akkor csak egy másolatot kapna a függvény, az eredetit nem tudnád megváltoztatni vele.
A függvényt ugyanúgy kell meghívni, abban nincs különbség. Esetleg annyi, hogy az első paraméter ne legyen literál/konstans, hanem változó.
Jó szóval, még mindig nem értem.
Hogyan kéne akkor megírnom, hogy visszatérítés nélkül a mainben megváltozzon a számom?
main:
int a=758;
setBit(a,7);
cout << a << endl;
függvény:
int setBit(int& number, int order)
{
if ((order>31)||(order<0)) return 0;
number ^= (-1 ^ number) & (1UL << order);
return 1;
}
De valószínűleg kiírok egy másik kérdést mert ez már offos
"& operátorral hívunk meg egy számot"
Ezt gondold újra. Számot nem "hívunk meg".
Bit állítás egyszerűbben: az érték és az adott maszk között vagy műveletet végzel.
001100
000010 OR:
001110
Annyi válasz közül egyikben sem olvastam a kérdésre való pontos választ.
& : referencia. :).
"& : referencia"
Jogos, de ennyiből vajon érteni fogja, hogy mi az? :)
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!