Aktywne Wpisy

vieniasn +19
ostatnio trochę pojeździłem w tragicznych warunkach i zdecydowanie zbyt szybko w tragicznych warunkach i ani razu nie zobaczyłem żeby zadziałała kontrola trakcji albo esp i wiele wskazuje że ja nawet nie mam tych lewackich bredni to nie szkodzi ale zaskakujące to jest że samochód z 2011 z rynku polskiego nie ma tego w wyposażeniu

czy ja komentuję na złym tagu czy każdy ma w p*ździe hokej i praktycznie występ drużyny gwiazd na olimpiadzie XDD
#mediolan2026 #hokej #mecz #pytaniedoeksperta
#mediolan2026 #hokej #mecz #pytaniedoeksperta





Miałem dziś ciekawą przygodę z C++. Może jest mi ktoś w stanie to wyjaśnić.
Tworzyłem instancję jakiejś klasy która miała zwykłe pole typu bool, a w zasadzie strukturę booli. Podczas ustawiania różnych parametrów w metodzie, przyjmijmy, Init(), ustawiałem jakieś wartości dla tych booli. Po wyjściu z metody Init() wykonywał się inny (nie mój) kod, a następnie w kolejnej iteracji pętli głównej programu wywołuję po raz pierwszy kolejną metodę, przyjmijmy, Process(). Problem w tym że po wykonaniu tego "nie mojego kodu", struktura o której wspomniałem na początku... miała zupełnie inny adres. Co mogło coś takiego spowodować? Wydawało mi się niemożliwe żeby cokolwiek było w stanie przenieść (dosłownie, bo struktura przeniosła się razem z wartościami) jakieś komórki pamięci na stosie.
Później zamiast zwykłego pola, stworzyłem wskaźnik do tej struktury i w metodzie Init() utworzyłem obiekt na stercie z pomocą operatora new. W tym momencie adres był już cały czas taki sam.
Potrafi ktoś to wyjaśnić?
@bartoneczek: To może być jakiś kod chroniący przed nadmierną fragmentacją pamięci.
W pofragmentowanej pamięci próba zaalokowania dużego obiektu zakończy się śmiercią programu.
Nie ma takiej możliwości, żeby zagregowana struktura zmieniła adres, jeśli nie zmienił się adres struktury, która ją agreguje. W C++ wszystko siedzi na offsetach i jest po prostu zabite na amen po linkowaniu.
Skłaniałbym się ku wyjaśnieniu @progresywnyRegres: w czym przechowujesz tą strukturę? Bo jeśli w jakimś wektorze/mapie (czyt: na stercie), to jej adres najprawdopodobniej się zmienił. Sprawdź w takim wypadku
* tworzę mój nowy obiekt,
* wywołuję metodę