Egy sablonfüggvénynek a memóriacímét hogyan rendelhetem egy függvénymutatóhoz? És egy ilyen sablonfüggvény típusra hogyan hozhatok létre szinonimát a typedeffel?
Például nem sablonfüggvénynél:
void(*const x)(int&, short*) = fuggveny;
Ugyanezt hogyan csináljam meg sablonfüggvénnyel?
És erre egy szinonima:
typedef void(*const VIS)(int&, short*);
Ugyanezt hogyan sablonfüggvénnyel.
Mivel, mint korábban említettem, olyan nincs, hogy sablonfüggvény, triviális a válasz. A template function nem egy önmagában létező függvény. Az egy kódrészlet, ami a fordítónak szól, és elmondja, hogy hogy lehet függvényeket gyártani adott típusok behelyettesítésével. Ez tehát nem sablonfüggvény, hanem függvénysablon. Amikor példányosítod, létrejön egy konkrét függvény, ami viszont már egy konkrét függvénytípus egy példánya, így egy hagyományos függvénypointerrel tudsz rá hivatkozni. Olyan mutatót nem tudsz csinálni, ami mindegyikre mutat (persze csinálhatsz egy smartpointert, de ez nem sima typedef).
Itt egy kis írás a témában: [link]
További 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!