Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: patilanz en 9 Septiembre 2015, 13:37 pm



Título: JS call() o apply() en c++
Publicado por: patilanz en 9 Septiembre 2015, 13:37 pm
Existe alguna función parecida a la de call o apply en js pero en c++ para cambiar el puntero this?

Un saludo


Título: Re: JS call() o apply() en c++
Publicado por: ivancea96 en 9 Septiembre 2015, 15:48 pm
Una función static:

Código
  1. class Clase{
  2. public:
  3.    static void func(Clase* _this, int param1, string param2);
  4. };

Si quieres un call para cualquier función, pues:

Código
  1. enum ClaseMethods{
  2.    CLEAR,
  3.    ADD
  4. }
  5.  
  6. class Clase{
  7. public:
  8.    static void call(Clase* _this, ClaseMethods function, ...){
  9.        switch(function){
  10.        case CLEAR:
  11.            _this->clear();
  12.           break;
  13.        case ADD:
  14.           int var = *(int*)&((&function)[1]);
  15.            _this->add(var);
  16.           break;
  17.    }
  18. };

Bueno, es un ejemplo a mano alzada.

No sé si es lo que buscabas (?)