Witam :) Niedawno zacząłem się uczyć SFML 2.0 i w związku z tym mam pytanie - czy dane obrazu uzyskane poprzez wywołanie sf::Image.getPixelsPtr (http://www.sfml-dev.org/documentation/2.0/classsf_1_1Image.php#ac6137a608a9efaae2735c13ff259c214) należy zwolnić kiedy dane przestaną byc potrzebne? A jeśli tak, to w jaki sposób? Za pomocą delete []?
Z dokumentacji wynika, że tej pamięci nie zwalniasz. Nawet lepiej byłoby powiedzieć - nie możesz.
Nie musisz zwalniać po tym pamięci, bo byś sobie wtedy skasował dane o obrazie. Ta funkcja nie kopiuje pikseli do innego miejsca pamięci, do którego przekazuje wskaźnik tylko daje Ci wskaźnik bezpośrednio do miejsca gdzie gdzie obiekt klasy Image trzyma sobie dane o obrazie i sam z nich korzysta. I on to zwolni w swoim destruktorze.
Dzięki :) Jeszcze tylko jedno pytanie, czyli jeśli dana funkcja/metoda zwraca const, to znaczy że nie mogę tam zwolnić pamięci?
Jeśli metoda zwraca coś typu const to nie chciałaby by to coś było edytowane więc przypuszczam, że tym bardziej metoda byłaby niepocieszona gdyby to coś zostało skasowanie. :)
Pewno jakby pogłówkować to istniałby jakiś malutki procent przypadków kiedy coś takiego jest dozwolone, ale nie przychodzi mi do głowy.
OK, już wszystko wiem :) Dzięki :)