• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak powiększyć dynamiczną tablice ?

0 głosów
955 wizyt
pytanie zadane 29 lutego 2016 w C i C++ przez Pixel040 Gaduła (3,100 p.)

int *cos = new int [10];

jak zrobić żeby teraz np. było w tej tablicy 23 elementy ?

1 odpowiedź

0 głosów
odpowiedź 29 lutego 2016 przez Patrycjerz Mędrzec (192,320 p.)
Po prostu zwalniasz wcześniejszą pamięć i alokujesz nową. Jeśli chcesz zachować stare dane, to powinieneś przekopiować wcześniejszą tablicę do nowej.
komentarz 29 lutego 2016 przez Pixel040 Gaduła (3,100 p.)
a jeśli chciałby zachować też tą samą nazwę to musiałbym kopiować dwa razy
komentarz 29 lutego 2016 przez Patrycjerz Mędrzec (192,320 p.)
Nazwę wskaźnika (tablicy)? Tutaj mógłbyś najpierw stworzyć nową tablicę, przekopiować dane ze starej do nowej, zwolnić pamięć ze starej, a później przerzucić adres do starego wskaźnika.
komentarz 29 lutego 2016 przez Pixel040 Gaduła (3,100 p.)
a jak to zrobić bo nieogarniam
komentarz 29 lutego 2016 przez Patrycjerz Mędrzec (192,320 p.)
int* stara = new int[10];
// ... Zapisywanie danych do tablicy "stara" i inne operacje
int* nowa = new int[20];
memcpy(nowa, stara, sizeof(stara)); // Kopiowanie danych ze starej tablicy do nowej
delete stara;
stara = nowa;

 

komentarz 29 lutego 2016 przez iWantCode Bywalec (2,170 p.)
Czekaj, czyżby o słowie vector zapomniałeś?
komentarz 29 lutego 2016 przez Patrycjerz Mędrzec (192,320 p.)
Nie zapomniałem, ale pokazuję alternatywny sposób, dzięki któremu autor pytania nauczy się o wiele więcej, niż używając gotowych implementacji - oczywiście chodzi tylko o proces nauki.

Podobne pytania

0 głosów
1 odpowiedź 858 wizyt
pytanie zadane 25 grudnia 2015 w C i C++ przez Jakub Śliż Użytkownik (940 p.)
0 głosów
1 odpowiedź 382 wizyt
pytanie zadane 29 czerwca 2020 w C i C++ przez pozdro600 Początkujący (260 p.)

93,778 zapytań

142,737 odpowiedzi

323,388 komentarzy

63,382 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...