Stos a sterta

RE
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 10 lat
  • Postów:3
0

Czy mógłby ktoś dokładnie wyjaśnić różnicę pomiędzy tymi pojęciami stos/sterta? Czytałem poprzednie wypowiedzi użytkowników z wcześniejszych tematów, lecz było dużo "odmiennych" opini na ten temat. Chodzi mi tutaj dokładnie o sytuacje w 2 językach programowania : C++ i Java.

fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

nie wierze ze byly odmienne opinie. Pokaz jakies zrodla

takie rzeczy mozesz przeczytac nawet na wikipedii, dziala tak samo, nie zaleznie od jezyka

RE
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 10 lat
  • Postów:3
0

różnice między STACK oraz HEAP
Chociażby 1 zdanie sugeruje że sytuacja może być inna javie a inna, w innym języku
"W kontekście javy wszystkie obiekty tworzone przez new tworzysz na stercie."
Zawszę się dowiaduje czegoś nowego :)

Kamil9132
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 4 lata
  • Postów:173
0

Z tego co się orientuję to jedną z podstawowych różnic pomiędzy stosem w javie, a w C++ jest to że w javie nie można utworzyć obiektu na stosie, a w C++ tak. Chociaż co do słowa kluczowego new to zarówno w C++ jak i javie powoduje stworzenie obiektu na stercie.

W javie obiekt musi zostać utworzony poprzez słowo new, a w C++ można utworzyć obiekt w ten sposób: Klasa klasa, w javie w ten sposób powstanie jedynie pusta referencja do obiektu.

edytowany 1x, ostatnio: Kamil9132
KR
  • Rejestracja:prawie 16 lat
  • Ostatnio:6 miesięcy
  • Postów:2514
0

Przeczytaj sobie dowolny kurs assemblera o stosie to zrozumiesz


░█░█░█░█░█░█░█░█░█░█░█░
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1

Jest jeszcze jedna możliwa odpowiedź:

C++

  • stos: std::stack
  • sterta: std::make_heap

Java:

Przy takim zrozumieniu pytania odpowiedź dla C++ i Java ma już sens.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.