18 marca 2009
Kategorie: programowanie | Tagi: C++, code, templates, tree
komentarze: 0
Dziś kilka słów o mojej prostej strukturze TreeLinkedList. Jest to prosta drzewiasta struktura, jak sama nazwa wskazuje można ją sobie wyobrazić jako skrzyżowanie drzewa z listą, a dokładniej to hierarchiczne powiązanie drzewem kilku list, gdzie każda gałąź jest listą elementów, które są kolejnymi gałęziami. Twór ten jest bardzo zbliżony do B-tree, aczkolwiek nie posiada wszystkich [...]
czytaj całość »
10 marca 2009
Kategorie: programowanie | Tagi: array, C++, code, matrix, metaprogramowanie, templates
komentarze: 0
Kiedyś, prawie rok temu kombinowałem coś z dwuwymiarowymi tablicami dynamicznymi. W projekcie xime, lista kontaktów wykorzystuje prostą implementację takowej tablicy opartą na małym rozszerzeniu standardowego wektora. Tablica ta odzwierciedla widoczne w danej chwili w kontrolce elementy, zawiera wskaźniki, bądź proste elementy z wskaźnikami do elementów kontaktów umieszczonych w powiązanym drzewie, coś w stylu B-tree. Idea [...]
czytaj całość »
8 marca 2009
Kategorie: programowanie | Tagi: C++, code, idioms, metaprogramowanie, templates
komentarze: 11
Szablony są bardzo elastycznym elementem języka programowania, a ich wykorzystywanie jest bardzo użyteczne. Użycie ich pozwala redukować i minimalizować pisanie oraz powielanie kodu. Jak wiemy konkretyzacja dla danego typu wykonywana jest tylko do używanych metod w szablonach klas, przez co nie jest generowany niepotrzebny kod. Niestety generowany kod wynikowy jest już nieco rozbudowany. Każda konkretyzacja [...]
czytaj całość »
12 grudnia 2008
Kategorie: programowanie | Tagi: C++, code, metaprogramowanie, templates, turing
komentarze: 2
Wzorce języka C++ spełniają wszystkie założenia maszyny Turinga. Przemyślenia i próby udowodnienia powyższego sformułowania można znaleźć w pracy „C++ Templates are Turing Complete” autorstwa Todd L. Veldhuizen. Małą ciekawostkę na temat limitów w wzorcach możemy znaleźć na końcu artykułu: [...] the C++ standards committee allows conforming compilers to limit the depth of „recursively nested template [...]
czytaj całość »
18 listopada 2008
Kategorie: programowanie | Tagi: C++, code, STL, templates
komentarze: 2
Standardowa biblioteka języka C++ zawiera wiele ciekawych i przydatnych narzędzi w codziennej pracy developera C++, a po wejściu w życie C++0x będzie jeszcze ciekawiej. Czasem nawet nie mamy świadomości lub zapominamy o ciekawych perełkach jakie można tam znaleźć. Jednym z zapomnianych i chyba rzadko używanych komponentów biblioteki STL jest szablon numeric_limits będący „odłamkiem” numerycznej części [...]
czytaj całość »
12 listopada 2008
Kategorie: programowanie | Tagi: C++, C++0x, code, metaprogramowanie, templates
komentarze: 0
Niedawno marudziłem o makrach i funkcjach ze zmienną liczbą argumentów, więc dziś do uzupełnienia tego tematu wspomnę kilka słów o wzorcach ze zmienną liczbą parametrów, czyli Variadic templates, które niebawem staną się oficjalną częścią standardu języka C++. Modelowa, prosta funkcja wzorcowa, która jako przykład występuje prawie w każdej wzmiance na temat „nowego ficzera”. template<typename T> [...]
czytaj całość »