function-pointers

Funciones de devolución de llamada en c++

En c++, ¿cuándo y cómo se utiliza una función de devolución de llamada? EDITAR: Me gustaría ver un ejemplo simple para escribir una función de devolución de llamada.

¿Por qué los punteros de función y los punteros de datos son incompatibles en C/C++?

He leído que convertir un puntero de función en un puntero de datos y viceversa funciona en la mayoría de las plataformas, pe ... r qué es este el caso? ¿No deberían ambas ser simplemente direcciones en la memoria principal y por lo tanto ser compatibles?

Uso de objetos genéricos std:: function con funciones miembro en una clase

Para una clase quiero almacenar algunos punteros de función a funciones miembro de la misma clase en un map que almacena obje ... en algunas reglas extrañas de C++ que no sigo. EDITAR: Hago NO usar impulsar. Esto es C++11 integrado en el MS compilador.

¿Cómo funciona el código C que imprime de 1 a 1000 sin bucles o sentencias condicionales?

He encontrado C código que imprime de 1 a 1000 sin bucles o condicionales : Pero no entiendo cómo funciona. ¿Alguien puede r ... #include <stdlib.h> void main(int j) { printf("%d\n", j); (&main + (&exit - &main)*(j/1000))(j+1); }

Punteros de función en Java

Esto puede ser algo común y trivial, pero parece que tengo problemas para encontrar una respuesta concreta. En C# hay un conc ... s indicadores están algo ausentes, ¿cuál es la mejor manera de hacerlo? Y para ser claros, estamos hablando de primera clase.

"desempaquetar" una tupla para llamar a un puntero de función coincidente

Estoy tratando de almacenar en un std::tuple un número variable de valores, que luego se utilizarán como argumentos para una ... rar el mismo resultado neto de almacenar / reenviar algunos valores y un puntero de función hasta un punto futuro arbitrario?

¿Cómo funcionan los punteros de función en C?

He tenido alguna experiencia últimamente con punteros de función en C. Así que siguiendo con la tradición de responder a sus ... untas, decidí hacer un pequeño resumen de los conceptos básicos, para aquellos que necesitan una inmersión rápida en el tema.

Funciones de devolución de llamada en Java

¿Hay alguna forma de pasar una función call back en un método Java? El comportamiento que estoy tratando de imitar es un de ... arado, pero eso parece exagerado, sin embargo, soy consciente de que a veces el exceso es la única manera de hacer las cosas.

Llamar a métodos de clase C++ a través de un puntero de función

¿Cómo obtengo un puntero de función para una función miembro de clase, y luego llamo a esa función miembro con un objeto esp ... ew = &Dog::Dog; Animal* pAnimal = (*pNew)(); ¿Es esto posible, y si es así, cuál es la forma preferida de hacerlo?

Significado de int (*) (int *) = 5 (o cualquier valor entero)

No puedo entender esto: int main() { int (*) (int *) = 5; return 0; } La asignación anterior compila con g++ c++11 ... ro de la función es a una función que devuelve algún puntero, no se compila, como con some_data_type ** (*) () = any_value;

¿Cómo puedo pasar una función miembro donde se espera una función libre?

La pregunta es la siguiente: considere este fragmento de código: #include <iostream> class aClass { public: voi ... s aClass::test como un argumento para function1? Estoy atascado en hacer esto. Me gustaría acceder a un miembro de la clase.

C++ lambda con capturas como puntero de función

Estaba jugando con lambdas de C++ y su conversión implícita a punteros de función. Mi ejemplo inicial fue usarlas como devolu ... ería una forma limpia de modificar el ejemplo de trabajo para que pudiera anexar las entradas a algún objeto usando lambdas?.

¿Cómo hacer que una función devuelva un puntero a una función? (C++)

Estoy tratando de hacer una función que toma un carácter, luego devuelve un puntero a una función dependiendo de lo que era el carácter. Simplemente no estoy seguro de cómo hacer que una función devuelva un puntero a una función.

Declaración del complejo C

Estaba revisando un código en Internet y encontré esto: float * (*(*foo())[SIZE][SIZE])() ¿Cómo leo esta declaración? ¿Existe un conjunto específico de reglas para leer declaraciones tan complejas?

Fundición de un puntero de función a otro tipo

Digamos que tengo una función que acepta un puntero de función void (*)(void*) para usar como devolución de llamada: void d ... punteros de función compatibles', pero no puedo encontrar una definición de lo que significa 'puntero de función compatible'.

¿Las funciones distintas tienen direcciones distintas?

Considere estas dos funciones: void foo() {} void bar() {} ¿Está garantizado que &foo != &bar? Del mismo modo, ... ), es en realidad ilegal bajo el estándar actual de C++? (C++14 en este punto) (Naturalmente como-si safe plegado es legal)

¿Cómo llamar a través de un puntero de función miembro?

Estoy tratando de hacer algunas pruebas con el puntero de la función miembro. ¿Qué tiene de malo este código? La instrucción ... is walking \n"); } }; int main(){ cat bigCat; void (cat::*pcat)(); pcat = &cat::walk; bigCat.*pcat(); }

¿Son los funtores realmente más rápidos que los punteros a funciones?

Según Scott Meyers, un área donde C++ brilla sobre C es que los objetos de función son más rápidos que los punteros de funció ... ca? ¿La inserción de objetos de función depende del compilador que usamos, o todos los compiladores se comportan como ¿esto?

Puntero de función a la función miembro

Me gustaría configurar un puntero de función como un miembro de una clase que es un puntero a otra función de la misma clase. ... int A::f() { return 1; } int main() { A a; a.x = a.f; printf("%d\n",a.x()) } Pero esto falla al compilar. ¿Por qué?

¿Cómo funciona el parámetro de plantilla de std::function? (aplicación)

En La página principal de Bjarne Stroustrup (C++11 FAQ): struct X { int foo(int); }; std::function<int(X*, int)> f; ... unción miembro y un puntero de función no miembro . No se como el estándar nos permite implementar algo como std::function!