Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- oriic: A TOP 10 legtöbb hozzászólással rendelkező PH! felhasználó
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sh4d0w: Árnyékos sarok
- Elektromos rásegítésű kerékpárok
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: ASUS TUF Gaming VG27AQ - finomhangolása
- eBay-es kütyük kis pénzért
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
Jhonny06 #1317 üzenetére
Igen, ez már közelít az igazsághoz. A fenti kód önmagában még nem lenne baj, vagyis az, hogy az x tudja írni az y viszont nem, az még nem probléma, millió olyan eset van amikor különböző pointereken keresztül különböző elérésed van, például:
char c;
char* x = &c;
const char* y = &c;Ezzel semmi baj, x-en keresztül lehet írni, y-on nem.
A gond ott kezdődik, hogy az említett struktúra módot adna olyan konverzióra aminek során a const elveszik egy pointerből. Látszólag ugye itt éppen hozzáadódik és ez biztonságosnak tűnik, de valójában egy kiskaput nyit:
char* x;
const char** y = &x;
const char* z;
*y = z;
*x = 0;Itt a z pointerről leszedtük a const-ot és az x-en keresztül olyan címre írtunk amire nincs felhatalmazásunk. Ugye *y típusa const char* és z is ez, tehát a *y = z rendben van. Viszont mivel y=&x ezért most már x is ugyanoda mutat ahová z, csak x nem const vagyis *x írható.
Mégegyszer hangsúlyoznám, nem az a baj, hogy több pointer ugyanazt a címet különböző módon éri el, hanem az, hogy egy tetszőleges const pointerből írhatót lehetne varázsolni. (Persze egy cast-tal ezt még mindig meg lehet tenni de az már más kérdés.)
Ú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!
- AKCIÓ! Dell Latitude 5440 14 FHD üzleti notebook - i5 1335U 8GB RAM 256GB SSD Intel Iris Xe
- Csere-Beszámítás! KFA2 One Click OC RTX 4080 16GB GDDR6X Videokártya!
- Realme 7i 64GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Gigabyte B760M i5 14600KF 32GB DDR4 512GB SSD RX 6800XT 16GB Rampage SHIVA CM 750W
- BESZÁMÍTÁS! Gigabyte B450 R7 5700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB Zalman Z1 Seasonic 650W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest