Zaawansowane CPP: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Matiunreal (dyskusja | edycje)
Matiunreal (dyskusja | edycje)
Linia 33: Linia 33:


=== Literatura ===
=== Literatura ===
*Alexandrescu ''Modern C++ Design, Generic Programming and Design Patterns Applied'', 2001 Addison-Wesley.
*B. Meyer, ''Object Oriented Software Construction''
*D. Vandervoorde, N. Josuttis ''"C++ Szablony, Vademecum profesjonalisty"'', Helion S.A 2003.
*Alexandrescu ''"Nowoczesne projektowanie"''.
*Stroustroup ''Jezyk C++''.
*Stroustroup ''Jezyk C++''.
*Alexandrescu ''Modern C++ Design, Generic Programming and Design Patterns Applied'', 2001 Addison-Wesley.
*Josuttis ''STL''.
*S. Meyers, ''STL w praktyce. 50 sposobów efektywnego wykorzystania'', 2004 Helion.
*B. Eckel, Ch. Allinson, ''Thinking in C++” Tom 2 2004 Helion.''
*S. Meyers,''C++, 50 efektywnych sposobów na udoskonalenie Twoich programów'', 2003 Helion.
*S. Meyers,''C++, 50 efektywnych sposobów na udoskonalenie Twoich programów'', 2003 Helion.
*S. Meyers, ''More effective C++''
*S. Meyers, ''More effective C++''
*B. Eckel, Ch. Allinson, ''Thinking in C++” Tom 2 2004 Helion.''
*S. Meyers, ''STL w praktyce. 50 sposobów efektywnego wykorzystania'', 2004 Helion.
*B. Meyer, ''Object Oriented Software Construction''
*Strona SGI http://www.sgi.com/tech/stl/
*Strona SGI http://www.sgi.com/tech/stl/
*BOOST
*CRTP
*"patterns"


== Moduły ==
== Moduły ==

Wersja z 21:51, 23 sie 2006

Forma zajęć

Wykład (30 godzin) + laboratorium (30 godzin)

Opis

Celem przedmiotu jest zapoznanie studentów z zaawansowanymi technikami programowania obiektowego w C++.

Sylabus

Autor

  • Piotr Białas

Wymagania wstępne

  • Programowanie Obiektowe
  • Znajomość C++

Zawartość

  • Szablony (templates)
    • programowanie generyczne
      • koncepty (STL)
      • kontenery i algorytmy generyczne
      • klasy cech i wytycznych
    • metaprogramowanie, szablony wyrażeń
    • zastosowanie szablonów do implementacji podstawowych wzorców obiektowych
  • Wyjątki.
    • bezpieczna obsługa wyjątków
    • wyjątki a kontenery (STL)
  • Alokacja pamięci
    • operator new, własne alokatory pamięci
    • obsługa błędów przydziału pamięci
    • alokatory w STL
  • Narzędzia programistyczne
    • kontrola wersji (Subversion)
    • testowanie (CPPUnit)

Literatura

  • Alexandrescu Modern C++ Design, Generic Programming and Design Patterns Applied, 2001 Addison-Wesley.
  • B. Meyer, Object Oriented Software Construction
  • D. Vandervoorde, N. Josuttis "C++ Szablony, Vademecum profesjonalisty", Helion S.A 2003.
  • Alexandrescu "Nowoczesne projektowanie".
  • Stroustroup Jezyk C++.
  • Josuttis STL.
  • B. Eckel, Ch. Allinson, Thinking in C++” Tom 2 2004 Helion.
  • S. Meyers,C++, 50 efektywnych sposobów na udoskonalenie Twoich programów, 2003 Helion.
  • S. Meyers, More effective C++
  • S. Meyers, STL w praktyce. 50 sposobów efektywnego wykorzystania, 2004 Helion.
  • Strona SGI http://www.sgi.com/tech/stl/
  • BOOST
  • CRTP
  • "patterns"

Moduły

  1. Wstęp
  2. Szablony I (ćwiczenia)
  3. Programowanie uogólnione (ćwiczenia)
  4. Szablony II (ćwiczenia)
  5. Testowanie (ćwiczenia)
  6. Klasy cech (ćwiczenia)
  7. Funkcje typów i inne sztuczki (ćwiczenia)
  8. Klasy wytycznych (ćwiczenia)
  9. Metaprogramowanie (ćwiczenia)
  10. Szablony wyrażeń (ćwiczenia)
  11. Inteligentne wskaźniki (ćwiczenia)
  12. Funktory (ćwiczenia)
  13. Używanie funktorów (ćwiczenia)
  14. mod12 (ćwiczenia)
  15. mod13 (ćwiczenia)
  16. mod15 (ćwiczenia)