Título: ¿Cómo hago para crear una funcion que al usarla cree otra?. Publicado por: josue9243 en 3 Noviembre 2017, 17:41 pm Como hago tipo, pongo en .h esto:
Código: int Function( int a ) y Cada vez que lo utilize en un .cpp o en cualquier lado se cree una funcion con eso. PERO NO INSERTARLO CORTE INLINE, sino que como que copia la funcion y la clona SÓLO PARA ESE USO EJEMPLO: Código: int roberto( int hola, int param ) y para cada vez que uso Function se clona sólo para ese uso en este caso se clona 2 veces. Habia un XorStr de 007 Boy Scout que hacia eso con xorstr. Título: Re: ¿Cómo hago para crear una funcion que al usarla cree otra?. Publicado por: ivancea96 en 4 Noviembre 2017, 00:00 am La idea de una función es reutilizarla. ¿Por qué "clonarla"?
¿Hablas de tener otra función en memoria idéntica por cada uso? ¿Por qué necesitas esto? Título: Re: ¿Cómo hago para crear una funcion que al usarla cree otra?. Publicado por: josue9243 en 4 Noviembre 2017, 00:45 am La idea de una función es reutilizarla. ¿Por qué "clonarla"? ¿Hablas de tener otra función en memoria idéntica por cada uso? ¿Por qué necesitas esto? ¿Porque tanta curiosidad? :v jajaja Necesito eso porque si en IDA Pro algun vivo me reemplaza sub_12933942 por CortarPapas(); se reemplaza en TODO el programa, entonces si hago que CortarPapas(); cada vez que lo utilizo se duplique clone o como quieran decirle. entonces aparece sub_239429349 sub_283474574 sub_192392939 :p xD Título: Re: ¿Cómo hago para crear una funcion que al usarla cree otra?. Publicado por: CalgaryCorpus en 4 Noviembre 2017, 10:56 am Se me ocurre una manera de hacerlo, pero no es tan directo como llegar e invocar una funcion. En C++, los templates generan codigo y cada especializacion es codigo distinto.
De esta manera, basta que uses una especializacion cada vez que invocas la funcion. Ejemplo: Código
Puedes ver este codigo ejecutandose en este link: http://goo.gl/x3aJ9X No puedes usar variables como parametro de la especializacion. Solo constantes explicitas. Título: Re: ¿Cómo hago para crear una funcion que al usarla cree otra?. Publicado por: josue9243 en 4 Noviembre 2017, 15:23 pm Jajaja si es igual que el otro código, y si se pueden usar parametros porque el XorStr del otro lo utiliza xD.
XorStr< int a1, int a2, int a3>XorStr( string ); Título: Re: ¿Cómo hago para crear una funcion que al usarla cree otra?. Publicado por: CalgaryCorpus en 4 Noviembre 2017, 16:16 pm No dije que no se pueden usar parámetros.
Dije que no se pueden usar variables como parámetros de la especialización. Vale decir, no puedes usar mifunc<i>() Solo puedes usar constantes, como en el ejemplo que mande Yo no tengo a la vista el xorstr que mencionas. Título: Re: ¿Cómo hago para crear una funcion que al usarla cree otra?. Publicado por: josue9243 en 4 Noviembre 2017, 16:19 pm Gracias!, funciona d10.
|