Nwlapcug.com


Puntatori a funzione callback

Puntatori a funzione callback


Un callback è una tecnica di programmazione che consente alle applicazioni di effettuare una notifica quando accade qualcosa degno di nota. Per esempio, se si lavora su un progetto, potrebbe essere un accordo con il tuo capo che notificherà a lei quando si è finito con il vostro lavoro. Ciò significa che il tuo capo non deve mantenere il controllo con voi sullo stato del lavoro. Un callback ha uno scopo simile.

Puntatori a funzione

Nel linguaggio di programmazione C++, programmatori utilizzano un puntatore a funzione per implementare i callback. Un puntatore a funzione è un modo efficace di fare un callback in questo linguaggio di programmazione. Un puntatore a funzione consente un'origine notifica manderò un callback a un listener. L'origine di notifica può inviare il callback in modo anonimo con l'aiuto di un puntatore a funzione.

Metodo comune non necessarie

Uno dei vantaggi dell'utilizzo di puntatori a funzione per eseguire un callback è che l'origine di notifica e l'ascoltatore non bisogno di avere lo stesso nome del metodo di callback. Tuttavia, un puntatore a funzione richiede l'utilizzo della firma stessa per eseguire il callback.

Controllo e flessibilità

Un altro vantaggio dell'utilizzo di puntatori a funzione è che essi offrono flessibilità. Questo è perché consentono al programmatore di implementare i callback utilizzando metodi condivisi. Questo dà anche il programmatore più controllo poiché lei può impostare i callback per essere fatto sulla base di diversi metodi.

Svantaggi

L'uso di puntatori a funzione viene fornito anche con alcuni svantaggi. Per uno, i puntatori a funzione richiedono un'applicazione di accedere direttamente memoria e questo potrebbe non essere sempre possibile. Inoltre, il modo che il puntatore a funzione è impostato potrebbe causare un'arresto anomalo quando si esegue questo codice dell'applicazione. Ciò potrebbe avvenire se gli elenchi di parametri per diversi metodi non corrispondano l'elenco di parametri che il chiamante utilizza. A causa di questo svantaggio, potrebbe essere meglio andare per una tecnica di callback che utilizza interfacce piuttosto che i gestori di funzione.