Autor Wątek: Szukam książki do nauki C++ na poziomie zaawansowanym  (Przeczytany 3921 razy)

Offline komorra

  • Użytkownik
    • Blog naszego teamu (o grze Voxelfield)

# Marzec 31, 2014, 12:14:25
Jaką książkę byście polecili mi? Muszę się zagłębić w C++, w STL dogłębnie lub może w Boosta, poznać ciekawe triki na 'wyższym poziomie wtejemniczenia'. Znam podstawy C++ (kiedyś od niego zacząłem, potem długie lata C# - i się mózg rozleniwił nieco :P).

Tematy które mnie interesują:
  • STL
  • Boost
  • wskaźniki
  • templejty
  • ciekawe sztuczki z makrami :P
  • optymalizacja (zrównoleglanie i wektoryzacja również)
  • wątki w C++

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline artpoz

  • Użytkownik
    • blog o tworzeniu gier

  • +1
# Marzec 31, 2014, 15:58:58
Polecam "C++ dla programistów gier". Jest tam sporo o wskaźnikach, szablonach, pamięci, STL'u, optymalizacjach...

Offline Malkavian Ass...

  • Użytkownik

  • +1
# Marzec 31, 2014, 21:36:23
http://www.amazon.com/Modern-Design-Generic-Programming-Patterns/dp/0201704315
Alexandrescu, Modern C++ Design

Nie wiem, czy znajdziesz bardziej zaawansowaną książkę, niż ta. :)
« Ostatnia zmiana: Kwiecień 01, 2014, 00:20:10 wysłana przez Malkavian Assembly »

Offline Xender

  • Użytkownik

# Marzec 31, 2014, 21:54:37
Thinking in C++? Jak nie potrzebujesz wersji na martwych drzewach, to na stronie autora jest za darmo.

Jeśli interesują Cię nie tylko książki, ale też wideo, to MSDN Channel 9 ma parę fajnych rzeczy - głównie seria Core C++ i talki o C++11.

Offline RedHot

  • Użytkownik

  • +1
# Kwiecień 05, 2014, 17:16:38
Na stack overflow jest mocno zaplusowany temat o książkach o C++. Polecam się zapoznać ;)

Offline sebas86

  • Użytkownik

# Marzec 08, 2015, 22:54:40
Alexandrescu, Modern C++ Design - mam polską edycję i… nie… ta książka nie za wiele ma już wspólnego z nowoczesnością, znając nowości wprowadzone w C++11 i C++14 można odnieść wrażenie, że proponowane rozwiązania (np. emulacja asercji czasu kompilacji) to jakiś smutny żart.

Offline Xender

  • Użytkownik

# Marzec 08, 2015, 23:26:07
@sebas86 - Skoro książka została wydana w 2001, smutnym żartem jest komentowanie w takim tonie.
Oczywiście, że stare hacki wyglądają przy nowych cackach blado, jak inaczej mają wyglądać?

Natomiast o wartości książki świadczyłoby to, czy zaprezentowane wzorce (w ogólnym znaczeniu, w szczególności wcale nie chodzi mi tylko o "Wzorce Projektowe") nadal są aktualne.

No ale wzorce są subtelniejsze od bezpośrednio omówionych technik, więc trzeba się bardziej wysilić, by coś powiedzieć na ten temat... ;)

Offline sebas86

  • Użytkownik

  • +1
# Marzec 09, 2015, 01:33:13
Ze względu na wzorce lepiej byłoby sięgnąć po coś świeższego. Akurat czytając tę książkę można mylnie odnieść wrażenie, że C++ to strasznie zacofany język. A wyłuskanie najważniejszych rzeczy nie ułatwia fakt, że sporo tych wzorców bazuje na niezbyt ładnych obejściach dostosowanych do ograniczeń języka w wersji z przed prawie 15 lat.

Masz rację, że prezentowane wzorce są ponad czasowe, ale czy warto tracić czas na próbę ich zrozumienia w kontekście ograniczeń wersji języka, która niedługo odejdzie do lamusa? Nawet sami autorzy w swoich nowszych publikacjach proszą o zmiany nawyków i wykorzystywanie nowych, lepszych schematów radzenia sobie z problemami oraz wykorzystywanie nowości, które nie tylko ułatwiają pisanie kodu ale również poprawiają jego czytelność…

Podsumowując, w jakim innym tonie miałbym skomentować polecanie podręcznika historii programiście, który z założenia powinien być pragmatykiem? Ta książka może wydawać się fajna, bo zawiera opis rzeczy, które mogą się przydać podczas implementacji własnych rozwiązań od początku bez potrzeby analizowania gotowego kodu (np. dostarczonego w ramach STL), ale po co skoro jest właśnie STL i nowe, gotowe do użycia rozwiązania?

Sam sięgnąłem po tą książkę aby móc zaimplementować bez jakiś dziwnych hacków delegaty i w taki sposób aby być niezależnym od implementacji (STL nadal nie wszędzie jest dostępny), a okazuje się, że wystarczy trochę nowszy kompilator aby życie stało się dużo prostsze (chyba najładniejsza i najprostsza implementacja jaką udało mi się znaleźć, niestety bazuje na ficzurach C++11: http://blog.coldflake.com/posts/C++-delegates-on-steroids/).