Zaawansowane CPP: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Matiunreal (dyskusja | edycje)
Matiunreal (dyskusja | edycje)
Linia 46: Linia 46:
# [[Zaawansowane CPP/Wykład 2: Programowanie uogólnione|Programowanie uogólnione]] ([[Zaawansowane CPP/Ćwiczenia 2: Programowanie uogólnione|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 2: Programowanie uogólnione|Programowanie uogólnione]] ([[Zaawansowane CPP/Ćwiczenia 2: Programowanie uogólnione|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 3: Szablony II|Szablony II]] ([[Zaawansowane CPP/Ćwiczenia 3: Szablony II|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 3: Szablony II|Szablony II]] ([[Zaawansowane CPP/Ćwiczenia 3: Szablony II|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 4: Klasy cech|Klasy cech]] ([[Zaawansowane CPP/Ćwiczenia 4: Klasy cech|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 4: ???|mod9]] ([[Zaawansowane CPP/Ćwiczenia 4: ???|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 5: Funkcje typów i inne sztuczki|Funkcje typów i inne sztuczki]] ([[Zaawansowane CPP/Ćwiczenia 5: Funkcje typów i inne sztuczki|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 5: Klasy cech|Klasy cech]] ([[Zaawansowane CPP/Ćwiczenia 5: Klasy cech|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 6: Klasy wytycznych|Klasy wytycznych]] ([[Zaawansowane CPP/Ćwiczenia 6: Klasy wytycznych|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 6: Funkcje typów i inne sztuczki|Funkcje typów i inne sztuczki]] ([[Zaawansowane CPP/Ćwiczenia 6: Funkcje typów i inne sztuczki|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 7: Metaprogramowanie|Metaprogramowanie]] ([[Zaawansowane CPP/Ćwiczenia 7: Metaprogramowanie|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 7: Klasy wytycznych|Klasy wytycznych]] ([[Zaawansowane CPP/Ćwiczenia 7: Klasy wytycznych|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 8: Szablony wyrażeń|Szablony wyrażeń]] ([[Zaawansowane CPP/Ćwiczenia 7: Szablony wyrażeń|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 8: Metaprogramowanie|Metaprogramowanie]] ([[Zaawansowane CPP/Ćwiczenia 8: Metaprogramowanie|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 9: Szablony wyrażeń|Szablony wyrażeń]] ([[Zaawansowane CPP/Ćwiczenia 9: Szablony wyrażeń|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 10: ???|mod11]] ([[Zaawansowane CPP/Ćwiczenia 10: ???|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 11: ???|mod10]] ([[Zaawansowane CPP/Ćwiczenia 11: ???|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 12: ???|mod14]] ([[Zaawansowane CPP/Ćwiczenia 12: ???|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 13: ???|mod12]] ([[Zaawansowane CPP/Ćwiczenia 13: ???|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 14: ???|mod13]] ([[Zaawansowane CPP/Ćwiczenia 14: ???|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 15: ???|mod15]] ([[Zaawansowane CPP/Ćwiczenia 15: ???|ćwiczenia]])

Wersja z 09:59, 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

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

Moduły

  1. Szablony I (ćwiczenia)
  2. Programowanie uogólnione (ćwiczenia)
  3. Szablony II (ćwiczenia)
  4. mod9 (ćwiczenia)
  5. Klasy cech (ćwiczenia)
  6. Funkcje typów i inne sztuczki (ćwiczenia)
  7. Klasy wytycznych (ćwiczenia)
  8. Metaprogramowanie (ćwiczenia)
  9. Szablony wyrażeń (ćwiczenia)
  10. mod11 (ćwiczenia)
  11. mod10 (ćwiczenia)
  12. mod14 (ćwiczenia)
  13. mod12 (ćwiczenia)
  14. mod13 (ćwiczenia)
  15. mod15 (ćwiczenia)