[C con Clase] problemas con asignación de puntores

Jordenys Perez Feria jferia en uci.cu
Dom Nov 15 22:45:03 CET 2009


Hola Leonel, a continuación te envío un programa que creo hace algo parecido a lo que planteas, pero no se que haces en el código original de tú programa que provoca lo que dices, en este que envío el puntero b permanece apuntando a la dirección de memoria que originalmente contenía el puntero a aunque este esté cambiado!.

#include <iostream>

using namespace std;
int main(int argc, char **argv) {
	int *a = new int(30);
	int *b = a;
	a = new int(20);
        //se imprime el valor 30.
	cout<<*b<<endl;

	return 0;
}

----- Original Message -----
From: "Leonel Florín Selles" <leonel06033 en cfg.jovenclub.cu>
To: "Lista de correo sobre C y C++" <cconclase en listas.conclase.net>
Sent: Friday, November 13, 2009 4:34:17 PM (GMT-0500) Auto-Detected
Subject: [C con Clase] problemas con asignación de puntores

Hola amigos:

bueno quisiera que me aclaran una duda que no puedo dar con ella, la cosa es una
bobería.

tengo dos apuntadores

int *a;
int *b;

utilizo una función que devuelve un apuntador a int el cual es recibido por el
apuntador a y posteriormente este se lo pasa a b

a = función;
b = a;

en este caso a y b apuntan a la misma dirección que nos devuelve la función, el
problema es que cuando le paso al apuntador a otra dirección tambien es cambiado
en el apuntador b sin aberlo asignado antes.

a = función1;

entonces b toma el mismo valor del apuntador a;

que será esta boberia que no acabo de dar con ella.


_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ




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