Red de conocimiento informático - Problemas con los teléfonos móviles - Programación WindowsSDK

Programación WindowsSDK

La función de devolución de llamada es una tecnología SDK de Windows basada en la programación en C. No es específica de C. Este artículo revelará los problemas de la función de devolución de llamada con los que tienen problemas los programadores y proporcionará dos soluciones para que su viaje de programación en C++ sea más sencillo.

Problemas con funciones miembro

El uso de funciones miembro de C++ como funciones de devolución de llamada provocará errores porque las funciones miembro de C++ tienen implícitamente un puntero "esto". Esta es la razón por la que varias instancias de clases de C++ pueden disfrutar de funciones miembro pero no de los mismos miembros de datos.

Método 1: Utilice funciones C ordinarias.

A través del operador amigo, las funciones C pueden acceder fácilmente a las variables miembro de la clase. Este mecanismo de procesamiento es exactamente el mismo que la función de devolución de llamada utilizada en la programación en C.

Método 2: Pruebe funciones miembro estáticas.

Las funciones miembro estáticas no dependen del puntero "este" y, por lo tanto, pueden usarse como funciones de devolución de llamada. Aunque solo puede acceder a funciones y variables miembro estáticas, solo necesita un puntero de clase estática para permitir que la función de devolución de llamada acceda a todas las variables y funciones miembro. Este método es particularmente útil cuando solo hay una instancia de una clase.