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

Dynamiczne tablice

VPS Starter Arubacloud
0 głosów
159 wizyt
pytanie zadane 8 kwietnia 2021 w C i C++ przez Dawidziu Bywalec (2,610 p.)
Czy jeśli używam w programie, który zbudowany jest na wielu pętlach, tworzenia tablic na wskaźnikach poprzez instrukcję new oraz delete, to czy jeśli z jakiegoś powodu program dojdzie do momentu, w którym usuwa tablicę, która nie istnieje, to czy będzie to jakiś błąd, przez który przestanie działać prawidłowo? Także co jeśli program utworzy tablicę, poprzez instrukcję new, na wskaźniku, na którym taka tablica jest już utworzona - ta stara zostanie nadpisana, czy również pojawi się jakiś (może nawet nie widoczny) błąd?
komentarz 8 kwietnia 2021 przez tkz Nałogowiec (42,000 p.)
Zależy. Jeżeli przed usunięciem przypiszesz nullptr, to nie, nic się nie stanie, jeżeli NULL, to UB.
komentarz 9 kwietnia 2021 przez j23 Mędrzec (194,920 p.)

@Dawidziu, uzyj std::vector i wszystkie rozterki miną, jak ręką odjął.

komentarz 9 kwietnia 2021 przez Dawidziu Bywalec (2,610 p.)
Ok, dzięki za pomoc

1 odpowiedź

+1 głos
odpowiedź 8 kwietnia 2021 przez tangarr Mędrzec (154,780 p.)
Taka wolna amerykanka o której piszesz prowadzi do wielu błędów. Mniej lub bardziej poważnych.
W najlepszym wypadku twój program po prostu będzie zużywać coraz więcej pamięci w trakcie działania lub po prostu się wysypie.

Jeżeli masz problem z zaalokowaniem lub zwolnieniem pamięci to najprawdopodobniej również nie przejmujesz się pisaniem po pamięci jeszcze nie przydzielonej/zwolnionej lub wykraczasz poza zakresy tablic.

Wszystkie błędne operacje na pamięci mogą umożliwić exploitowanie twojego programu.
komentarz 8 kwietnia 2021 przez Dawidziu Bywalec (2,610 p.)
To był taki przykład, żeby każdy zrozumiał o co mi chodzi, a ja chciałem się dowiedzieć, gdybym przez przypadek doprowadził do takiej sytuacji to czy może doprowadzić to do błędów w programie
komentarz 9 kwietnia 2021 przez tangarr Mędrzec (154,780 p.)
Tak, może.

Podobne pytania

+1 głos
1 odpowiedź 323 wizyt
pytanie zadane 23 stycznia 2022 w C i C++ przez Doge Gaduła (3,320 p.)
+1 głos
1 odpowiedź 172 wizyt
pytanie zadane 19 kwietnia 2021 w C i C++ przez Dawidziu Bywalec (2,610 p.)
0 głosów
1 odpowiedź 189 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...