elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Ventajas de un puntero a una función?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Ventajas de un puntero a una función?  (Leído 5,973 veces)
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: ¿Ventajas de un puntero a una función?
« Respuesta #10 en: 6 Abril 2014, 14:39 pm »

Al reves, un string tiene que redimensionarse dinámicamente.

Ademas, desde cuando te importa la eficiencia?  ;D


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re:
« Respuesta #11 en: 6 Abril 2014, 15:21 pm »

He dicho que lo hago más rápido, no que sea más eficiente.
Además, en este ejemplo la eficiencia es absurda e innecesaria.

Enviado desde mi ST21i mediante Tapatalk


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re:
« Respuesta #12 en: 6 Abril 2014, 17:20 pm »

He dicho que lo hago más rápido, no que sea más eficiente.
Además, en este ejemplo la eficiencia es absurda e innecesaria.

Enviado desde mi ST21i mediante Tapatalk
Estas comparando:

Código
  1. string t;
  2. cin >> t;
  3. if(t.size()==0) t='1'; //Evitar problemas en entrada
  4.  
  5. funcs[(t[0]-'1')%3](); //Llamamos a la función. "(t[0]-'1')%3" es solo para evitar que salga del rango 0-2

¿Con esto?
 
Código
  1. int N;
  2. cin>>N;
  3.  
  4. if (cin.good())
  5.    funcs(N%3);

Yo veo más corto el segundo, pero sobre gustos no hay nada escrito :-X
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: ¿Ventajas de un puntero a una función?
« Respuesta #13 en: 6 Abril 2014, 17:46 pm »

el el segundo habría que hacer un while y comparar hasta que la entrada sea correcta.
Y por cierto, ese no era el tema del post.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: ¿Ventajas de un puntero a una función?
« Respuesta #14 en: 6 Abril 2014, 18:21 pm »

¿una llamada a una función con un puntero a función es más rápida que una llamada "normal"?
En el caso de C (habrá que revisar los puntos finos de C++) no hay diferencia ya que una llamada a función requiere de un puntero, cuando se llama a una función utilizando su identificador o una expresión que la denote (identifique, haga referencia) ello genera el puntero necesario.

Un ejemplo sencillo:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6.   int (*p)(const char *) = puts;
  7.  
  8.   p("puntero");
  9.   puts("identificador ==> puntero");
  10.   (*p)("expresion ==> puntero");
  11.  
  12.   return EXIT_SUCCESS;
  13. }

----

el segundo habría que hacer un while y comparar hasta que la entrada sea correcta.
En ambos. Pero como se trata de ejemplos ilustrativos no veo porque molestarse con validaciones (la idea es explicar otra parte del lenguaje, ya se agregaran cuando sean necesarias).

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines