- One mobilszolgáltatások
- Vivo X300 - kicsiben jobban megéri
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Yettel topik
- Android alkalmazások - szoftver kibeszélő topik
- VoLTE/VoWiFi
- Xiaomi 15T Pro - a téma nincs lezárva
- Külföldi prepaid SIM-ek itthon
- iPhone topik
- Milyen okostelefont vegyek?
Új hozzászólás Aktív témák
-
jattila48
aktív tag
Attól tartok, nem egészen érted miről van szó. A member pointerek nem függenek egyetlen példánytól sem, hanem az osztály (nem az objektum!) tagjaira hivatkozó fordítás idejű konstansok. Úgy kell elképzelni, mint offset-et, ami az osztály kezdetéhez képest mutatja az adott tag helyét az osztályban. Pl. struct semmi{int a; int b;} osztályban a semmi::* pa=&semmi::a és semmi::* pb=&semmi::b deklarációkkal a pa=0 és pb=4 konstans értékeket vesz fel (feltehetőleg), mivel az a tag offsetje az osztályhoz lépest 0, a b-é pedig 4 (ha az a mérete 4 byte volt). Ugyanígy (nem virtuális) tfv.-ekre is, csak ekkor nem az offset, hanem a tfv. címe mint fordítás idejű konstans kerül a member function pointerbe. A HandleClass::mfp nálam ilyen member function pointer, ami történetesen a BodyClass::f tfv.-ének címét tartalmazza (és ez független a BodyClass bármely példányától, egy közönséges fv. cím). Ezért, mivel nem függ sem a HandleClass, sem a BodyClass egyetlen példányától sem, nyugodtan lehet statikus, hiszen minden példányban ugyanaz a konstans érték. Amikor (pimpl->*hc.mfp)(2); formában hívom a BodyClass f tfv.-ét, akkor ez nem azt jelenti, hogy az mpf a pimpl által mutatott objektum tagja lenne (mint ahogy a ->* miatt első ránézésre tűnik), hanem a BodyClass::f tfv. kapja a pimpl-et első paraméterként, 2-őt második paraméterként, (mint ahogy a tfv.-ek első paramétere mindig az aktuális példányra mutató this pointer), az mpf pedig történetesen a hc statikus tagja. Egyébként ahogy írtam, ha az mpf-et const-ként deklarálom akkor működik, különben pedig futási hibával elszáll. A VS kever valamit, mert a gcc jól fordítja. A VS is lefordítja, csak szerintem rosszul.
Ú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!
- Végleg lemondott a régi gépekről a Steam
- CADA, Polymobil, és más építőkockák
- Magga: PLEX: multimédia az egész lakásban
- Szünetmentes tápegységek (UPS)
- Milyen monitort vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Bittorrent topik
- One mobilszolgáltatások
- Milyen SSD-t vegyek?
- Star Wars rajongók
- További aktív témák...
- Eladó Mobiltelefon Telefon tulajdonságai : Xiaomi Redmi Note Pro Plusz 14 Kártyafüggetlen 51
- Lenovo ThinkPad P53 i7-9850H 32GB RAM 256GB NVMe Quadro T2000
- HP ProBook 640 G8 laptop, i3-1115G4, ajándék egér és táska
- Lenovo ThinkPad X13 G2 13.3" -50% AMD Ryzen 5 Pro 5650U Hexa-core 16GB 512GB SSD FHD
- Gaming PC - R5 9600X,RTX 5070 12GB,32GB DDR5,1TB NVMe,850W
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25)
- LG 48B4 - 48" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Keresünk Galaxy S22/S22+/S22 Ultra
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- Lenovo T14S Thinkpad FHD IPS i5-1135G7 16GB RAM 256GB SSD Intel Iris XE Graphics Win11 Pro Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


