Tag: c++

Entries for tag "c++", ordered from most recent. Entry count: 128.

Uwaga! Informacje na tej stronie mają ponad 3 lata. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

Pages: > 1 ... 14 15 16

22:55
Tue
01
May 2007

Singletony precz!

W ramach porządków w kodzie pozbyłem się dzisiaj wszystkich singletonów zamieniając je na zwykłe, globalne zmienne wskaźnikowe. Tak, wiem co sobie teraz pomyślą wszyscy obrońcy programowania obiektowego... Ja nie mam nic do OOP ani nawet do wzorców projektowych, ale jednak krócej niż res::ResManager::GetInstance().Cośtam jest napisać res::g_ResManager->Cośtam. Poza tym to działa szybciej, bo mówcie co chcecie, ale sprawdzać czy obiekt już istnieje tysiące razy na klatkę to nie jest zerowy narzut czasu.

Przede wszystkim jednak mam teraz kontrolę nad tym, kiedy obiekt powstaje i kiedy jest niszczony, bo... robię to sam. Mogę więc powiedzieć dokładnie, czy w pewnej chwili to czy tamto jest utworzone, w jakiej kolejności jest alokowane i zwalniane oraz zagwarantować, że w danym momencie dany obiekt na pewno istnieje. Słowem - mam w pełni formalnie zdefiniowany czas życia obiektów. To rozwiązało problem, który miałem podczas finalizacji różnych modułów, a z którym nie sposób było inaczej sobie poradzić. Co za ulga! A już zaczynałem wierzyć, że singletony są OK...

Comments (0) | Tags: c++ philosophy software engineering | Author: Adam Sawicki | Share

17:43
Sun
25
Feb 2007

Precompiled Headers w Visual C++

Napisałem mały, bogato "ilustrowany" artykuł, w którym pokazałem, jak w praktyce użyć mechanizmu Precompiled Headers w Visual C++, żeby wielokrotnie przyspieszyć kompilację swoich programów. Zapraszam do lektury - Precompiled Headers w Visual C++.

Comments (0) | Tags: teaching visual studio c++ | Author: Adam Sawicki | Share

12:38
Sun
15
Oct 2006

Książki Meyersa

Skończyłem właśnie lekturę ostatniej spośród trzech dzieł Scotta Meyersa:

  1. C++. 50 efektywnych sposobów na udoskonalenie Twoich programów (ang. Effective C++)
  2. STL w praktyce. 50 sposobów efektywnego wykorzystania. (ang. Effective STL)
  3. Język C++ bardziej efektywny (ang. More Effective C++)

To doprawdy niezwykłe książki. Każda z nich jest zbiorem kilkudziesięciu krótkich, niezależnych porad, sztuczek i technik dotyczących różnych szczegółów języka i jego biblioteki standardowej. Z pewnością nie są przeznaczone dla początkujących - do ich lektury język trzeba już znać i to całkiem nieźle. Zaawansowanym jednak posłużą jako nieoceniona pomoc w nabywaniu wprawy i wypracowaniu dobrych praktyk.

We wstępie do Effective C++ Meyers cytuje Petroniusza:

Mądrość i piękno bardzo rzadko idą w parze.

Ten cytat, niestety, jak ulał pasuje do języka C++ i sposobu myślenia, jaki reprezentują jego twórcy (jak również twórcy biblioteki Boost i im podobni). Mając wciąż w pamięci język C# i bibliotekę standardową .NET, którymi posługiwałem się przez ostatnie 3 miesiące, gdzieś w środku czuję, że jednak to nie tak powinno być...

Comments (0) | Tags: c++ literature | Author: Adam Sawicki | Share

11:59
Sun
15
Oct 2006

Wskaźniki na metody w C++

Istnieje coś takiego, jak wskaźnik na metodę (inaczej delegat - delegate, zdarzenie - event, sygnał - signal czy jak kto tam nazwie). Chodzi o wskaźnik na dowolną metodę konkretnego obiektu dowolnej klasy, która ma zgodny nagłówek. Mechanizm ten przydatny jest szczególnie podczas pisania systemu GUI. Posiada go każdy nowoczesny język programowania, jak Delphi czy C#. Każdy z wyjątkiem C++. Jak sobie z tym poradzić?

Różni ludzie różnie kombinują. Pojawia się tutaj wiele zagadnień, np. pytanie czy można zapewnić wygodną składnię bez użycia makr albo elastyczność bez użycia rzutowania typów. Jedni w ogóle omiają problem robiąc to prymitywnie, np. łańcuszkiem if-else albo wielkim switchem. Inni wymyślają własne implementacje, a jeszcze inni korzystają z gotowych. Tych gotowych jest wiele i są bardzo różnorodne. Niektóre z nich to mechanizm wbudowany w bibliotekę Qt czy wxWidgets, a z niezależnych modułów - sigslot.

Ja jakiś czas temu wypatrzyłem bibliotekę FastDelegate dołączoną do artykułu na The Code Project i właśnie ją polecam. Jest szybka, elastyczna, przenośna, wygodna i ogólnie elegancka. Napisałem do niej krótką dokumentację, żeby można było zacząć jej używać bez czytania całego artykułu.

Comments (1) | Tags: c++ | Author: Adam Sawicki | Share

07:04
Tue
19
Sep 2006

The Final Quest - Common Lib 6.0

Jak wyszło tak wyszło, ale formalnie ukończyłem pisanie pierwszej wersji modułów bazowych szóstej iteracji mojego projektu. Pomyślałem sobie, że nic mi nie ubędzie, jak udostępnię to 451 kB kodu na licencji GNU LGPL - może komuś się przyda. Może jacyś mniej zaawansowani sobie go użyją, a jacyś bardziej - zgłoszą mi swoje cenne uwagi. Tak więc oto jest: Common Lib 6.0.

Comments (0) | Tags: productions c++ | Author: Adam Sawicki | Share

06:58
Tue
18
Jul 2006

Rzutowanie typów w C++

Tak się składa, że napisałem artykuł - taki, o którym myślałem już od dawna. Nazywa się Rzutowanie typów w C++ i traktuje dokładnie o tym, na co wskazuje jego tytuł. Zapraszam do lektury.

Comments (0) | Tags: c++ productions | Author: Adam Sawicki | Share

20:12
Thu
22
Jun 2006

Książki Meyersa

Książki Meyersa

Nareszcie doczekałem się na przesyłkę i w ten sposób na moją półkę trafiły już wszystkie trzy dzieła Meyersa (gdyby ktoś chciał kupować nowe, to nakład już wyczerpany, tak że Allegro rulez). Teraz tylko je przeczytać i będę masta koda ;)

Comments (0) | Tags: c++ literature | Author: Adam Sawicki | Share

20:55
Tue
03
Jan 2006

C++0x

Bjarne Stroustrup - twórca języka C++ - w swoim nowym, datowanym na wczoraj artykule "A Brief Look at C++0x" prezentuje plany zdefiniowana nowej wersji swojego języka o nazwie C++0x. W pierwszym momencie pomyślałem, że to jakiś nowy żart. Sądziłem bowiem, że ten język jest tak przestarzały i skostniały, że nigdy nie doczekamy się jego aktualizacji. Jakkolwiek znam go dobrze i używam na co dzień, to jednak moja lista zarzutów wobec niego jest długa. Wyraźnie pozostaje w tyle za nowoczestnymi i dynamicznie rozwijającymi się językami i technologiami, tworzonymi często przez pojedyncze firmy zamiast komitetów standaryzacyjnych.

Tym bardziej ucieszyłem się więc widząc, że Stroustrup planuje coś zmienić. Jednak wygląda na to, że wbrew deklarowanym przez niego założeniom planowane zmiany są raczej kosmetyczne (aczkolwiek pozytywne) i dotyczą w samym języku głównie szablonów. Z poważniejszych nowości, do języka i biblioteki standardowej ma zostać dodane opcjonalne wsparcie dla garbage collectora, wyrażenia regularne, tablice haszujące oraz wsparcie dla wielowątkowości. Co ciekawe, standard języka ma być gotowy w roku... 2009.

Wiecej »

Comments (0) | Tags: c++ | Author: Adam Sawicki | Share

Pages: > 1 ... 14 15 16

STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2016 Adam Sawicki
Copyright © 2004-2016 Adam Sawicki