25 kwietnia 2009
Kategorie: programowanie | Tagi: algorithm, boost, C++, C++0x, code, predicate
komentarze: 0
Boost.bind to potężne narzędzie, za niedługo zobaczymy je w standardzie, obecnie dostępne w TR1. Dzięki niemu możemy pozbyć się wielu prostych i trywialnych, a także tych trochę bardziej skomplikowanych funktorów, jakie musieliśmy definiować, bo standardowe adaptory funkcyjne z STL są ograniczone. To przez niego z kodu źródłowego xime zniknie kilka predykatów, które zostaną zastąpione jedno-dwu [...]
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ść »
5 listopada 2008
Kategorie: programowanie | Tagi: C++, C++0x, code, lambda, STL
komentarze: 0
Wspominałem nie tak dawno o szukaniu w STLowych kontenerach za pomocą funkcji find_if. Przedstawiłem tam kilka sposób wykorzystania tego algorytmu i prosty funktorów na bazie bibliotek STL i boost. Dzięki nadchodzącemu wielkimi krokami nowemu standardowi C++0x, pisanie prostych predykatów stanie się wkrótce jeszcze prostsze dzięki funkcjom i wyrażeniom lambda. Nie trzeba będzie pisać prostych funktorów, [...]
czytaj całość »
4 listopada 2008
Kategorie: programowanie | Tagi: C++, C++0x, standardy
komentarze: 0
Jak podaje Herb Sutter na swoim blogu w ostatniej notce „September 2008 ISO C++ Standards Meeting: The Draft Has Landed, and a New Convener„, draft nowego standardu C++ jest już dostępny publicznie do pobrania: The September C++0x working draft document. Jedynie można spodziewać się małych poprawek błędów i usprawnień w stosunku do ukończonej wersji standardu. [...]
czytaj całość »