PsichiX Opublikowano 8 Grudnia 2007 Udostępnij Opublikowano 8 Grudnia 2007 Mam pytanie - jak jest wlasciwie z dynamicznymi tablicami? Jest przyklad: int tablica[10]; int rozmiar_nowej=20; int* tablica=new int[rozmiar_nowej*sizeof(int)]; I tu sie zastanawiam, czy on stworzy nowa tablice 'tablica' z 20 elementami, czy 'dorobi' do istniejacej tablicy 'tablica' miejsce nowe 20 elementow (czyli ogolem bedzie 10+20 elementow) Pozdrawiam :] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DarkMasoon Opublikowano 14 Grudnia 2007 Udostępnij Opublikowano 14 Grudnia 2007 To nie tak... dynamiczna alokacja a dodawanie elementów to dwie różne sprawy... Po pierwze po co definiujesz tablice dynamiczną o tej samej nazwie co stara. I tak nie mją ze sobą nic wspólnego. Nie mieszaj też tablic stałych z dynamicznymi. Zrób tak: int rozmiar, nowy_rozmiar; int *tab1 = new int[rozmiar]; //początkowa alokacja cin>>nowy_rozmiar; int *tab2 = new int[nowy_rozmiar]; //a teraz przypisujesz elementy ze starej do nowej: for(int i =0; i < rozmiar; i++) //oczywiście musisz dać warunek, że nowa tablica ma większy rozmiar tab2 = tab; delete tab; tab = tab2; rozmiar = nowy_rozmiar; i tak oto zrealokowana została tablica tab z rozmiaru "rozmiar" do "nowy_rozmiar" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się