Wpis z mikrobloga

@htfhere: zasada jest taka: w kodzie musisz mieć taką samą ilość new i delete (malloc/free). To że para new/delete jest używana raczej w obrębie jednej funkcji jest związane z czytelnością. Łatwiej jest zrozumieć jak funkcja działa gdy wszystkie szczegóły są w jednym miejscu.
Jeżeli jakoś zwrócisz wskaźnik do zaalokowanej pamięci z tej funkcji to zwolnienie na końcu maina będzie ok. Dynamicznie zaalokowana pamięć jest "widziana" w całym procesie. Możesz ją zwolnić w zasadzie w dowolnym miejscu i czasie.
@TheNewIcek: @psychob: Dzięki za odpowiedź. Czy moglibyście jeszcze mi powiedzieć, w jaki sposób powinienem tą tablicę zaalokować w funkcji, żebym mógł jej używać poza nią ( funkcja musi być typu void, dlatego zwracanie tablicy odpada ) ? Bo -> takie zaalokowanie tablicy w funkcji sprawia, że poza nią dostaję "Error, indentifier "tablica dwuwymiarowa" is undefined