In C en C + + en andere talen die directe toegang tot de computer het geheugen toe te staan, een pointer is een speciaal soort waarde dat in plaats van een geheugen -adres rechtstreeks gespecificeerde gegevens bevat . Functie pointers wijzen op functies in het geheugen in plaats van waarden . Functieverwijzingen kan worden gebruikt om declaratieve - of functionele stijl programmeertechnieken in C of C + + , talen die grotendeels noodzakelijk voeren . Even terzijde, declaratieve - stijl programmering benadrukt vertelt de computer wat iets is , terwijl imperatief - stijl programmering benadrukt vertelt de computer hoe iets te doen . Gegevens Geregisseerd programmeren Functie pointers kan worden gebruikt om gegevens Geregisseerd Programming , dat is een vorm van generiek programmeren implementeren . In lekentaal , generieke programmering laat functies om waarden van willekeurige types verwerken . C en C + + functies standaard kunnen alleen de functies van voorheen verklaard types verwerken . Bijvoorbeeld , een functie " int functie ( int kaas , char ball) " moet een geheel getal terugkeren en duurt slechts een geheel getal en een teken . Functie pointers kan worden gebruikt om dynamisch verzenden over de soorten argumenten . Signal Processing Stijl Programmeren Functie pointers kan worden gebruikt om signaalverwerking stijl functies zoals map implementeren en verminderen . Dit zijn functies die een gebruiker gespecificeerde functie te nemen en toe te passen op elk element in een lijst . Hogere orde programmeren Higher programmering bestellen, is een andere vorm van de programmering die het mogelijk maakt inkapselen gemeenschappelijke " patronen " in wat bekend staat als een hogere-orde functie . Functie pointers kan worden gebruikt om een hogere orde functies genereren . Andere declaratieve technieken Functie pointers kan worden gebruikt om vele andere declaratief programmeren technieken toe te passen . Als een ander voorbeeld kan currying worden uitgevoerd met de functie pointers . Het proces van currying wordt gedefinieerd als het nemen van een eerder gedefinieerde functie en het terugsturen van een nieuwe functie , dat is de oude functie met een aantal van haar argumenten aangebracht .
|