Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] ¿¿¿LLamar a main desde main, y desde otra funcion???

Estas en el tema de ¿¿¿LLamar a main desde main, y desde otra funcion??? en el foro de C/C++ en Foros del Web. Que... es.... esto, Alguien me ayuda? XDDD @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C++: Ver original int main ( ) {             main ...
  #1 (permalink)  
Antiguo 27/05/2015, 13:55
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Pregunta ¿¿¿LLamar a main desde main, y desde otra funcion???

Que... es.... esto, Alguien me ayuda? XDDD


Código C++:
Ver original
  1. int main(){
  2.    
  3.    
  4.     main(); //[B]<--<--<--Que... es.... esto?[/B]
  5. }

Se me van a fundir los plomos jajaja. Alguien me lo explica que hace eso??
¿Esta sobrecargado?
¿Es un bucle? XDD
¿Es un pájaro o un avión...?

Peor aun.. Esto:
Código C++:
Ver original
  1. int foo(){
  2.     //...
  3.     main(); //[B]<--<--<--Que... es.... esto?[/B]
  4. }
  5.  
  6. int main(){
  7.    
  8.    
  9.     return 0;
  10. }

La cosa es que me marca avisos en el compilador, pero me intriga que pasa con eso a nivel de memoria, pila etc.

Gracias
  #2 (permalink)  
Antiguo 27/05/2015, 14:30
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: ¿¿¿LLamar a main desde main, y desde otra funcion???

eso únicamente es posible en C... en C++ no te debería compilar.

main no deja de ser una función más de tu programa (repito, en C). El tema de las reservas de memoria, la pila y demás no se ven afectadas... eso ya viene configurado cuando la ejecución entra en el main.

Lo que sí que queda claro es que no es una buena práctica de programación.
  #3 (permalink)  
Antiguo 27/05/2015, 15:08
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: ¿¿¿LLamar a main desde main, y desde otra funcion???

Gracias por la aclaración. ¿Entonces es como un return churro? XD.
Pensaba que se creaba otro objeto en la pila igual que con las recursivas o yo que se que película me la monte en mi cabeza. XDDD

Gracias compañero. No es por mi, es por que siempre veo algunos poniendo eso en algunos programas y me da hasta susto ejecutar eso jajaj.
  #4 (permalink)  
Antiguo 28/05/2015, 00:03
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: ¿¿¿LLamar a main desde main, y desde otra funcion???

Cita:
Iniciado por vangodp Ver Mensaje
Gracias por la aclaración. ¿Entonces es como un return churro? XD.
Es como una llamada recursiva más... lo que pasa es que jugar con el main de esa forma no parece, ni de lejos, una buena idea.

Cita:
Iniciado por vangodp Ver Mensaje
No es por mi, es por que siempre veo algunos poniendo eso en algunos programas y me da hasta susto ejecutar eso jajaj.
Te entiendo, a mí también me daría mal rollo :)
  #5 (permalink)  
Antiguo 28/05/2015, 04:02
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: ¿¿¿LLamar a main desde main, y desde otra funcion???

Cita:
Es como una llamada recursiva más... lo que pasa es que jugar con el main de esa forma no parece, ni de lejos, una buena idea.
: ¿¿O sea que cada llamada a main de forma recursiva llena la pila???

Cita:
Te entiendo, a mí también me daría mal rollo :)
Ahora me da más
  #6 (permalink)  
Antiguo 28/05/2015, 04:37
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: ¿¿¿LLamar a main desde main, y desde otra funcion???

Cita:
Iniciado por vangodp Ver Mensaje
: ¿¿O sea que cada llamada a main de forma recursiva llena la pila???
funciona igual que cualqueir otra función que se llame de forma recursiva ;)

Etiquetas: main
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:08.