Hirdetés
Új hozzászólás Aktív témák
-
mgoogyi
senior tag
válasz
Tomi_78
#4256
üzenetére
A pointernek és a LoadFromFile-nak nincs köze egymáshoz.
A pointer csak egy logikai memóriacím.A programod változói mind a memóriában vannak valahol.
Az, hogy valami hol van, azt elrakhatod egy pointerbe, mint pl. egy int * p;
Ebbe a p-be berakhatsz egy memóriacímet és utána azt tudod, hogy azon a memóriacímen - ami a p-ben van - van egy int értéked, azaz 4 byte-od egymás után.Az egyszerűség kedvéért 0-tól 1000-ig legyenek a lehetséges memóriacímek.
Amikor leírok egy olyat, hogy new int, akkor a programod a memóriából kér magának 4 byte-ot egymás után, ahol majd az integer-ed tartalma lesz és ebből a 4 byteből az elsőnek a címét visszaadja. (A másik 3 byte közvetlen utána van.)
Ezért tudod megtenni azt, hogy aint * p = new int;esetén a baloldalt ott van a p, ami értéket kap. Mégpedig ennek az 1. byte-nak a memóriában lévő sorszámát.Itt egy példakód megdebuggolva:

A programom a (hexadecimális) 12461a8-as byte-tól kezdve kapott összesen 4 byte-ot.
És erre a 4 byte-ra a 3-nak megfelelő adat lett beírva.Ez így világos?
Olvasd el sokszor, ha nem érted, elég fontos, hogy ez meglegyen. -
válasz
Tomi_78
#4256
üzenetére
Amit meg kell érteni jelen esetben az, hogy egyetlen darab AlakokKepe objektumod van és beállítottad azt, hogy mind a négy helyen erre az egyetlen egyre mutató link legyen.
A kód, amit írtál, pontosan azt csinálja, mintha ebben a sorrendbe írtad volna:
.
AlakokKepe->LoadFromFile("alak\\alak_all.bmp");
AlakokKepe->LoadFromFile("alak\\alak_lep1.bmp");
AlakokKepe->LoadFromFile("alak\\alak_lep2.bmp");
kepei[0] = AlakokKepe;
kepei[2] = AlakokKepe;
kepei[1] = AlakokKepe;
kepei[3] = AlakokKepe;és ebből következően az, aminek igazából hatása van, csak annyi, hogy
.
AlakokKepe->LoadFromFile("alak\\alak_lep2.bmp");
kepei[0] = AlakokKepe;
kepei[2] = AlakokKepe;
kepei[1] = AlakokKepe;
kepei[3] = AlakokKepe;
Ú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!
- P1 Gen5 16" QHD+ IPS i7-12800H RTX A2000 32GB 1TB NVMe ujjlolv IR kam gar
- SAPPHIRE PULSE AMD Radeon RX 9070 16G
- Latitude 5530 15.6" FHD IPS érintő i7-1265U MX550 16GB 512GB NVMe magyar vibill ujjlolv IR kam gar
- Secretlab OMEGA gamer szék - Hibátlan
- Samsung Galaxy S21 Ultra 12/256GB, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Bomba ár! HP ProBook 640 G8 - i5-1145G7 I 16GB I 256GB SSD I 14" FULLHD I Cam I W11 I Gari!
- Eladó 1db Nokia steel hr hibrid okos óra dobozával
- iKing.Hu - Google Pixel 10 Tensor G5, 120 Hz OLED, tripla kamera-128 GB Használt, karcmentes Gari
- DELL Precision 5540 Workstation i7-9850H Nvidia Quadro T2000 32GB 512GB 15.6" 1év garancia
- Bontatlan! Kingston FURY Renegade 1TB M.2 PCIe NVMe
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


