Devolver varias variables en una sola función

Iniciado por javirk, 28 Enero 2012, 17:02 PM

0 Miembros y 1 Visitante están viendo este tema.

eleon

#10
Si no quieres ver punteros se puede hacer paso por referencia puro:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

void funcion (int &sobrenombreVariable) /* Esto se vuelve un "sobrenombre" de la variable, todas las modificiaciones
que hagas en "sobrenombreVariable" se harán en "variable" */
{
sobrenombreVariable = 10;
}

int main ()
{
int variable = 0;
funcion (variable); //Le pasamos la variable a la que queremos que afecte el sobrenombre

return 0;
}


Busca "paso por referencia" y encontrarás más información. Saludos.

x64core

@Xandrete:
cierto, quise decir el retorno de la funcion ya que como dices si la estructura pudiera tener mas de 100 elementos cada elementos va a tener que pasarse a un registro luego hacia la pila por cada elemento lo peor creo que nose si esto lo implementaria el
compilador haciendo un bucle, en el peor de los casos escribia todas las instrucciones y seria mas lento, y bueno compare eso de lento a comparacionde pasarle el puntero de una estructura :P en mi pd3 ( lo publique antes que respondieras a mi pd2 ) igual
esta bien tu codigo Xandrete ;D

Xandrete

Cita de: eleon en 28 Enero 2012, 19:44 PM
Si no quieres ver punteros se puede hacer paso por referencia puro:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

void funcion (int &sobrenombreVariable) /* Esto se vuelve un "sobrenombre" de la variable, todas las modificiaciones
que hagas en "sobrenombreVariable" se harán en "variable" */
{
sobrenombreVariable = 10;
}

int main ()
{
int variable = 0;
funcion (variable); //Le pasamos la variable a la que queremos que afecte el sobrenombre

return 0;
}


Busca "paso por referencia" y encontrarás más información. Saludos.

Correcto. Pero es lo mismo que dijo satu, xD. Se te adelantaron  ;)

¡Saludos!

eleon


javirk

Ya lo he conseguido, muchas gracias a todos por vuestra ayuda!