Elmagyarázná valaki? C++
const SIMPLECAT* const FunctionTwo()
Nem értem ezt a függvényt.
És nem is tudok többet mondani erről.
Itt a FunctionTwo függvény nem változtathassa meg semminek az értékét és nem is lehet benne máshoz memóriacímet rendelni?
Vagy,hogy van ez?
"változtathassa"? Jézusom, magyarul tanulj meg, mert ez gyalázat.
Amúgy a FunctionTwo függvényről amit tudunk:
- nincs neki paramétere, tehát ezekkel nem kell foglalkozni.
- amit visszaad, az egy konstans SIMPLECAT objektumra mutató konstans mutató. Tehát rajta keresztül nem változtatható meg az objektum (ez az első konstansság), és maga a mutató sem mutathat másra (ez a második). A visszatérési érték semennyiben nem befolyásolja a függvényt, a FunctionTwo működhet úgy, hogy mindent amit elér megváltoztat, és a végén egy return 0;-val végez.
Nem értem bonyolult.
Mit jelent az,hogy rajta keresztül nem változtatható meg az objektum?
Azt,hogy a visszatérési értéket nem lehet megváltoztatni a FunctionTwo függvénnyel,és a visszatérési érték memóriacímét sem lehet megváltoztatni?
"Azt,hogy a visszatérési értéket nem lehet megváltoztatni a FunctionTwo függvénnyel,és a visszatérési érték memóriacímét sem lehet megváltoztatni?"
A visszatérési értéket a függvény állítja elő. Muszáj neki megváltoztatni, hiszen előtte nem létezett.
A visszatérési érték címe pedig fix dolog, ott van a veremben, lemásolni az ojjektumot le lehet, de maga az ojjektum ottmarad.
Vegyünk egy példát.
Van az int* típus, ami egy intre mutató pointer.
Van a const int* típus, ami egy olyan intre mutató pointer, amelyen keresztül az intet nem lehet megváltoztatni. Tehát ha const int* ip = &i; akkor *ip = 2; fordítási hibát fog adni.
Van az int* const típus, ami egy olyan intre mutató pointer, amit nem lehet megváltoztatni. Tehát ha int* const cip = &i; akkor *cip = 2; lefordul, de cip = &j; már nem.
Ezt a kettőt kombinálva kapjuk a const int* const típust, ahol se a mutatót, se a mutatott értéket nem lehet módosítani. Na, egy ilyen mutatót ad vissza a függvényed. Semmi más megkötés nincs.
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!