wykrywanie wycieków pamięci
Ostatnio zmodyfikowano 2015-08-23 19:54
1aam2am1 Temat założony przez niniejszego użytkownika |
» 2014-08-07 21:50:49 int main() { sf::RenderTexture t0; return 0; }
Niby gdzie mam to zwolnić? Edit. Kod poglądowy pokazuje gdzie Valgrid wskazuje błąd jak miałbym pokazać cały (cały, cały) kod to by zajął jakieś )158 KB (bajtów: 162 168). |
|
akwes |
» 2014-08-08 20:20:24 I oczywiście tak skompilowany przykład, bez Twojego kodu również cieknie? int main() { sf::RenderTexture t0; return 0; }
Edit: Jeżeli valgrind mówi Ci, że w tym obiekcie cieknie, to zupełnie i najzwyczajniej możesz go po prostu źle używać, dlatego kod, który pokazałeś nic nie wnosi do tematu, o ile powyżej napisany kod nie cieknie. |
|
1aam2am1 Temat założony przez niniejszego użytkownika |
» 2014-10-27 20:45:30 Odświeżam temat. Dalej o wyciekach pamięci. Czy takie coś cieknie? union { std::string str; int i; } moja;
moja.i = 5; moja.str = "To jest nic"; moja.i = 6;
|
|
Monika90 |
» 2014-10-27 22:28:42 Nie cieknie, bo się tego nie da skompilować... |
|
SocrateZ |
» 2014-10-27 22:51:58 Gdybyś pomyślał przez chwile, zauważyłbyś że robiąc coś takiego tracisz wskaźnik do "stringa". |
|
1aam2am1 Temat założony przez niniejszego użytkownika |
» 2014-10-28 07:54:05 Elementy tej unii nie są wskaźnikami. String jest listą która jak się domyślam alokuje pamięć dynamicznie. Więc moje pytanie brzmi czy pamięć może cieknąć przez unie jeżeli jej elementy alokują w jakikolwiek sposób pamięć? |
|
Monika90 |
» 2014-10-28 13:45:28 std::string jako składowa unii wymaga ręcznej konsrtukcji i destrukcji, jeżeli skonstruujesz ten string, a potem zapomnisz wywołać destruktor, to będziesz miał wyciek pamięci. |
|
SocrateZ |
» 2014-10-28 14:47:09 Elementy tej unii nie są wskaźnikami. String jest listą która jak się domyślam alokuje pamięć dynamicznie. |
String to inaczej tablica znaków, więc to co tu przechowujesz, to wskaźnik do tej tablicy. |
|
1 2 « 3 » 4 |