
Also known as subroutine pointer, procedure pointer
pointer that points to a function
Un puntatore a funzione è un tipo di puntatore in C, C++, D, e altri linguaggi di programmazioni stile C. Quando viene dereferenziato esso invoca una funzione, passandole zero o più argomenti come ad una funzione normale. Nei linguaggi di programmazione come il C, i puntatori a funzione possono essere usati per semplificare il codice fornendo un modo semplice per eseguire codice in base a parametri determinati a run-time. Similarmente ai puntatori a funzione esistono le funzioni oggetto o funtori, che possono essere usati in maniera simile. I funtori sono più potenti dei puntatori a funzione perché possono contenere i propri valori. Alcuni linguaggi "puramente" ad oggetti (come java) non supportano i puntatori a funzione.Qualcosa di simile può essere implementato in questi tipi di linguaggi, sebbene, usando le reference alle interfacce questo definisce una singola funzione membro. Linguaggi Microsoft .NET come il C# e il Visual Basic .NET implementano dei puntatoria funzione type safe con i delegate. In altri linguaggi che supportano le funzioni first-class, le funzioni sono trattate come dati e possono esserepassate, ritornate e create dinamicamente da altre funzioni, eliminando la necessità di puntatori a funzione. L'uso eccessivo di puntatori a funzione può produrre un rallentamento del codice sui processori moderni,perché la branch prediction può non essere in grado di prevedere quale ramo verrà preso (dipendeinfatti dal valore del puntatore a funzione a run-time), sebbene questo effetto possa essere compensato per ridurre le ricerche nelle tabelle di lookup.
Abstract from DBpedia / Wikipedia · CC BY-SA
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).
via Wikidata sitelinks · CC0