My Violinist
Temat: Przenośny odśmiecacz w czystym C++
...aplikacji jednowątkowych. Oto przykład: struct MojaKlasa { gc::gc_ptr<intpole; glupia(int* i) {gc::collect(); pole = i} } ... MojaKlasa TakBardzoCheMiecAccessViolation(GC new int(13)); ... int NoIMam = *(TakBardzoCheMiecAccessViolation.pole); ... Nie ma mowy, takiego cudaka do Smieciucha nie wprowadzę. Uwierz mi: albo GC jest w stanie dziłać bezpośrednio na surowych wskaźnikach (tak jak konserwatywny odśmiecacz Hasna Boehma) albo nie może mieć możliwości skasowania obiektu przed jego pierwszym przypisaniem na specjalny wskaźnik. | Fajnie, tylko że już wtedy nie jestem w stanie przypisać zwykłego wskaźnika | bez robienia głupawych: | gc_ptr<Xp; | X* r = wynik_czegoś; | ... i nieco dalej: | p = GC r; Przeciez tego _nie wolno_ zrobic, bo nic nie wiadomo o sposobie powstania przypisywanego obiektu wskazanego przez r-- w...
Źródło: topranking.pl/1406/przenosny,odsmiecacz,w,czystym,c.php
Temat: Bajrne o C++0x
Maciej Sobczak <no.s@no.spam.comwrites: | Zrobią połowiczne odśmiecanie Co znaczy "połowiczne"? Że połowa obiektów nie będzie odśmiecana? Czasem tak. W pełni konserwatywny odśmiecacz (tzn. taki, który nie ma żadnej informacji o tym, gdzie w strukturach danych są wskaźniki), który utrzymuje obiekt przy życiu, jeśli znajdzie wskaźnik do jego wnętrza (Boehm GC można tak skonfigurować), na architekturze, gdzie wielkość pamięci jest porównywalna z przestrzenią adresową (np. współczesny pecet), wykłada się w sytuacjach spotykanych w życiu: przy dużych tablicach wypełnionych bajtami...
Źródło: topranking.pl/1275/bajrne,o,c,0x.php