blog.garaż.net

12 sierpień 2009

Inteligentne wskaźniki

Inteligentne wskaźniki to bardzo pomocne twory. Dzięki nim nie trzeba pamiętać głównie o zwolnieniu obiektu w różnych przypadkach, a o błędy z tego wynikające nietrudno.

Istnieje masa różnych implementacji inteligentnych wskaźników, od najprostszych usuwających obiekt, na który wskazują w momencie kiedy jest usuwany obiekt wskaźnika lub przypisywana jest nowa wartość, poprzez zliczające, kopiujące i masę innych. Zależnie od funkcji jakie ma spełniać i do jakich celów mamy zamiar go używać każdy może przygotować własną implementację.

Najprostsza wersja może wyglądać tak:

{geshi lang=cpp}template class ptr { private: T m_pointer; ptr(T& pointer) {} T& operator= (ptr& obj) {} public: ptr() : m_pointer(NULL ...

29 marzec 2009

15 maj 2008

Raytracer

Ponieważ trochę czasu musiałem poświęcić na stworzenie tego programiku, to pochwalę się szerszej publiczności. Oto program generujący obraz na podstawie odwrotnego śledzenia promieni. :)

Krótka historia

Na początku była ciemność, jak często to bywa przy programowaniu grafiki, jeden mały błąd i nie widzimy nic, ciężko w takich sytuacjach stwierdzić co jest nie tak. Kilka godzin później przyszło na świat coś takiego:

Raytracer - 2008.03.18 Raytracer - 2008.03.19

Po krótszych bojach ...

26 kwiecień 2008