Zaawansowane CPP: Różnice pomiędzy wersjami

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


== Moduły ==
== Moduły ==
# [[Zaawansowane CPP/Wykład 1: Szablony I|Szablony I]] ([[Zaawansowane CPP/Ćwiczenia 1: Szablony I|ćwiczenia]])
# [[Zaawansowane C++/Wykład 1: Szablony I|Szablony I]] ([[Zaawansowane C++/Ćwiczenia 1: Szablony I|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 2: Programowanie uogólnione|Programowanie uogólnione]] ([[Zaawansowane CPP/Ćwiczenia 2: Programowanie uogólnione|ćwiczenia]])
# [[Zaawansowane C++/Wykład 2: Programowanie uogólnione|Programowanie uogólnione]] ([[Zaawansowane C++/Ćwiczenia 2: Programowanie uogólnione|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 3: Szablony II|Szablony II]] ([[Zaawansowane CPP/Ćwiczenia 3: Szablony II|ćwiczenia]])
# [[Zaawansowane C++/Wykład 3: Szablony II|Szablony II]] ([[Zaawansowane C++/Ćwiczenia 3: Szablony II|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 4: Klasy cech|Klasy cech]] ([[Zaawansowane CPP/Ćwiczenia 4: Klasy cech|ćwiczenia]])
# [[Zaawansowane C++/Wykład 4: Klasy cech|Klasy cech]] ([[Zaawansowane C++/Ćwiczenia 4: Klasy cech|ć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 C++/Wykład 5: Funkcje typów i inne sztuczki|Funkcje typów i inne sztuczki]] ([[Zaawansowane C++/Ćwiczenia 5: Funkcje typów i inne sztuczki|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 6: Klasy wytycznych|Klasy wytycznych]] ([[Zaawansowane CPP/Ćwiczenia 6: Klasy wytycznych|ćwiczenia]])
# [[Zaawansowane C++/Wykład 6: Klasy wytycznych|Klasy wytycznych]] ([[Zaawansowane C++/Ćwiczenia 6: Klasy wytycznych|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 7: Metaprogramowanie|Metaprogramowanie]] ([[Zaawansowane CPP/Ćwiczenia 7: Metaprogramowanie|ćwiczenia]])
# [[Zaawansowane C++/Wykład 7: Metaprogramowanie|Metaprogramowanie]] ([[Zaawansowane C++/Ćwiczenia 7: Metaprogramowanie|ćwiczenia]])
# [[Zaawansowane CPP/Wykład 8: Szablony wyrażeń|Szablony wyrażeń]] ([[Zaawansowane CPP/Ćwiczenia 7: Szablony wyrażeń|ćwiczenia]])
# [[Zaawansowane C++/Wykład 8: Szablony wyrażeń|Szablony wyrażeń]] ([[Zaawansowane C++/Ćwiczenia 7: Szablony wyrażeń|ćwiczenia]])

Wersja z 18:56, 16 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. Klasy cech (ćwiczenia)
  5. Funkcje typów i inne sztuczki (ćwiczenia)
  6. Klasy wytycznych (ćwiczenia)
  7. Metaprogramowanie (ćwiczenia)
  8. Szablony wyrażeń (ćwiczenia)