“Conocimiento Programación>C /C + + Programming

Cómo utilizar punteros de función en C + +

2011/7/13
A puntero de función es , en esencia, un puntero a una función. En lenguajes como C + + , cada función y variable en un programa de ordenador existe como una dirección de memoria , y una variable pueden contener el valor de esa dirección . Eso variable puede ser pasado a una devolución de llamada , que luego puede llamar a la función que los puntos variables a . También se puede utilizar en un gestor de eventos , o para la unión tardía de una función miembro . Debido a su sintaxis complicada , punteros de función a menudo se evitan por los programadores , pero se pueden utilizar para llevar a cabo fácilmente muchas tareas de gran alcance . Cosas que necesitará
C + + compilador
Ver Más instrucciones
1

Escriba un programa en C + + . Este es el programa en el que va a utilizar un puntero de función .
2

Definir un puntero a función . Usted puede hacer esto de varias maneras . Declarar una función, como por ejemplo:

doSomething void ( int data) ;

y luego declarar un puntero a la misma. O bien, puede declarar una función como un puntero :

void ( * doSomething ) ( int) ;

Por último , se puede declarar un typedef , a continuación, crear una variable de ese tipo < br . >

typedef void (* voidTakingInt ) ( int) ;

ahora puede utilizar " voidTakingInt " como tipo :

doSomething void ( int data) ; voidTakingInt fun_ptr = & doSomething ;
Página 3

Declarar algo que utiliza el puntero de función . Esto suele ser algo que utiliza el puntero de función como una función de devolución de llamada , de modo que cuando se produce un evento específico , la función se ejecuta la función. Un ejemplo es una función de archivo de carga que tiene una función de devolución de llamada para indicar el progreso .
4

llamar a la función del puntero a él . Esto se hace desde dentro de la función que usted escribió que acepta un puntero de función como un parámetro :

doSomething void ( int data) { }

void callAnotherFunction (void (* otherFunction ) ( int) ) {

(* otherFunction ) ( 3 ) ;

}

int main (int argc, char * argv [ ] ) {

callAnotherFunction ( y doSomething ) ; return 0; }



C /C + + Programming
Conversión de un valor negativo a positivo en C + +
¿Cuál es la importancia de la solución en el contexto para resolver problemas de programación concurrentes?
¿Qué etapa de construcción de un código fuente del formulario C de programa COMPLEMENTE Combine múltiples archivos en un programa?
Cómo aprender Programación juego con DirectX
Cómo hacer una cadena inmutable
Cómo obtener un Número de objetos para que apunte a una variable
Cómo llenar un DataReader Using
Cómo compilar varios archivos CPP
Conocimiento de la computadora © http://www.ordenador.online