[C con Clase] Saludos

Leonardo Boquillon lboquillon en gmail.com
Mar Ene 12 19:02:14 CET 2010


cualquiera de las formas que uses esta bien, realmente pasar por referencia
es una forma elegante para no pasar un puntero, donde ya sea que lo hagas en
el parametro de la funcion o cuando llames a la funcion realmente lo que
pasas es la direccion de memoria (a que te recuerda? exacto a punteros), yo
por lo general intento en lo posible (por no escribir mas codigo, mas que
por otra razon) pasar por referencia mas alla de declarar un puntero y luego
pasar ese puntero, pienso que al menos en c++ (no digo para c) el puntero no
es (en mi forma de ver) para esta tarea que ha sido resuelta de forma mas
practica pasando por referencia. veamos un ejemplo se atento a los detalles

void foo1(int & a){ a++;};
void foo2(int a){ a++;};
void foo3(int* a){  (*a)++;};

int main(void){
int a = 5;
int* pointertoa = &a;

cout << a << endl; // imprime 5

foo1(a);

cout << a << endl; // imprime 6

foo2(a);

cout << a << endl; // imprime 6 de nuevo porque se paso como valor

foo3(&a); //ojo no pasas a la variable a pasas la direccion de memoria de a

cout << a << endl; // imprime 7

foo3(pointertoa);
cout << a << endl; // imprime 8
cout << *pointertoa << endl; // imprime 8
}
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100112/9234475a/attachment.html>


Más información sobre la lista de distribución Cconclase