View Full Version : apontadores em c++


jahred
15-12-2007, 20:38
boas! gostaria de saber se pf me podem esclarecer uma dúvida:

tenho um vector de apontadores em que cada elemento do vector aponta para elementos de um 2º vector.

A minha questão é... se eu apagar um dos elementos do 2º vector, o que acontece aos elementos do 1º vector que tavam a apontar para lá? dá barraca, certo? então como é que eu posso fazer com que que o apontador (que agora não interessa para nada) deixe de apontar (para não dar barraca), ou simplesmente desapareça do vector?

obrigado e cumps

Mr. Brightside
15-12-2007, 20:50
boas! gostaria de saber se pf me podem esclarecer uma dúvida:

tenho um vector de apontadores em que cada elemento do vector aponta para elementos de um 2º vector.

A minha questão é... se eu apagar um dos elementos do 2º vector, o que acontece aos elementos do 1º vector que tavam a apontar para lá? dá barraca, certo? então como é que eu posso fazer com que que o apontador (que agora não interessa para nada) deixe de apontar (para não dar barraca), ou simplesmente desapareça do vector?

obrigado e cumps
Se percebi bem, o melhor a fazer nessa situação é deixar lá o valor e mudar o ponteiro para NULL.

jahred
15-12-2007, 20:58
hmmmm sendo assim o melhor é apagá-los mesmo, para depois não ser possível acedê-los...

mj2p
15-12-2007, 23:37
boas! gostaria de saber se pf me podem esclarecer uma dúvida:

tenho um vector de apontadores em que cada elemento do vector aponta para elementos de um 2º vector.

A minha questão é... se eu apagar um dos elementos do 2º vector, o que acontece aos elementos do 1º vector que tavam a apontar para lá? dá barraca, certo? então como é que eu posso fazer com que que o apontador (que agora não interessa para nada) deixe de apontar (para não dar barraca), ou simplesmente desapareça do vector?

obrigado e cumps

Quando se tem um apontador que aponta para coisa nenhuma, coloca-se esse apontador com o valor NULL, tal como disse o Mr. Brightside.

Exemplo:


char* name = NULL;


O apontador name não aponta para coisa nenhuma.

Vá, cumps