Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
jattila48
#4073
üzenetére
Egy szimuláció a következő lehet:
class Akarmi{
public:
Akarmi(int x):a(x){}
int addto(int x){
return a+x;
}
private:
int a;
};
Akarmi *pa;
int closure_func(int x){
return pa->addto(x);
}
void main(int argc,char *argv[]){
pa=new Akarmi(5);
std::cout << closure_func(6);
}A fenti példában closure_func 5-öt ad hozzá az argumentumához. és nem tfv., címe pedig használható lenne callback fv. pointerként. A gond csak az, hogy ha szükségem lenne egy 11-et hozzáadó closure-re is, akkor létre kéne hozni egy globális Akarmi(11) objektumot is (pl. pa11 nevu pointerrel), és definiálnom kéne egy closure_func11-et, ami a pa11-gyel hívja az addto tfv.-t. Ez nem túl jó megoldás. Amikor előző hozzászólásomban azt írtam, hogy futás közben kódot generálnak, akkor arra gondoltam, hogy kb. ezt a konstrukciót hozzák létre. Amikor létrejön az Akarmi(5) objektum, annak címével (mint konstanssal, vagyis a generált kódban ezt a címet "bedrórozva" konstansként használják) legenerálják a closure_func kódot, és closure fv. pointerként pedig visszaadják a röptében generált kód kezdőcímét. Így talán világosabb mire is gondoltam.
Várom a hozzászólásokat!
Ú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!
- Samsung S20 Ultra 5G + Galaxy Watch 5 Pro egyben, tokokkal, dobozokkal
- Eladó macbook pro 16 M1 Max 10 CPU/32 GPU 64GB 1TB
- Nálam már kapható a jelenlegi leggyorsabb brutál notebook: Samsung Galaxy Book 5 Edge 5G!
- Sony WF-G700 White- INZONE Buds vezeték nélküli zajszűrős(ANC) fülhallgató - Fekete, 2 év gari
- High-End AMD Ryzen 9 9950X3D, ASRock X870E Taichi + Dell AlienWare AW2725DF + ajándékok
- HP EliteBook 840 G10 - 14"WUXGA - i7-1360P - 16GB - 512GB - Win11 - MAGYAR - 3 év garancia
- Dell Latitude 5400 14" FHD IPS, i7 8665U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- GYÖNYÖRŰ iPhone 12 64GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3858
- Hutt C6 ablaktisztító robot / 12 hó jótállás
- HIBÁTLAN iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, 100% Akksi, MS4011
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

