Usuwanie tablicy dynamicznej

Odpowiedz Nowy wątek
2011-08-30 02:26
0

Witam,
Tworzę sobie tablicę dynamiczną o wymiarach x,y, a potem ją usuwam. W pętli usuwającej wywala mi błąd, nie wiem dlaczego.

int x, y, i, **T;

T = new int *[x];
for(i=0; i<x; i++)
{
T[i]= new int [y];
}

for(i=0; i<x; i++)
{
delete [] T[i];
}
delete []T;

Pozostało 580 znaków

2011-08-30 02:36

Twój kod działa: http://ideone.com/GMPOe

Jeżeli nie zależy Ci jakoś specjalnie na wydajności lepiej mimo wszystko robić tak:

std::vector<std::vector<int> > tablica_2d(x, std::vector<int>(y, 0));

To jest być może wolniejsze w niektórych sytuacjach niż tablica w stylu c, nie mniej jednak kompilatory obecnie dokonują cudów przy optymalizacji. ;-)


"(...) otherwise, the behavior is undefined".
edytowany 2x, ostatnio: Endrju, 2011-08-30 02:43

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0