Co dalej?

Inne techniki programowania

C++ oferuje więcej technik programowania niż wymieniono w poprzednich punktach. Podstawowe techniki wystarczają w zupełności do większości zastosowań statystyczno-matematycznych, należy jednak zdawać sobie sprawę, że istnieje „zaplecze pomocnicze” w postaci bardziej skomplikowanych technik. Dzięki temu można rozwiązywać złożone problemy i upraszczać kodowanie.

Pominięte tematy:

  • instrukcje języka: pętle (do-while, for dla zakresu), instrukcje skoku (break, continue, goto), instrukcje wyboru (switch, operator ‘?’), strumienie (in, out), zmienne statyczne (static), operatory bitowe (&,|,^,~,<<,>>)
  • definiowanie własnych typów (typedef), uni (union) i enumeratorów (enum)
  • dostęp do pamięci (wskaźniki i referencje do zmiennych) i zarządzania pamięcią dynamiczną (new, delete)
  • przeciążanie operatorów i rodzaje funkcji (inline, const, static)
  • techniki obiektowe (konstruktory, metody wirtualne, klasy abstrakcyjne)
  • wzorce (template)
  • przestrzenie nazw (namespaces)
  • obsługa wyjątków (try, catch, throw)
  • dyrektywy preprocesora (#if, #define…)

Biblioteki standardowe

Pamiętać należy, że w standardzie jest dużo więcej bibliotek niż wymieniono wcześniej. Dają one do dyspozycji dodatkowe funkcje lub gotowe obiekty (abstrakcyjne typy danych). Dobrze opisana lista znajduje się tu: http://www.cplusplus.com/reference/.

Tworzenie interfejsu graficznego

Istnieje wiele narzędzi do tworzenia graficznego interfejsu programu (GUI). Najczęściej są zintegrowane z danym środowiskiem programistycznym (np. C++ Builder, Visual C++).

Z darmowych rozwiązań warto wymienić wxWidgets (http://www.wxwidgets.org/). Jest to rozwiązanie międzyplatformowe, tzn. przygotowany program działa na zarówno pod Windows, jak i pod Linuxem (albo innym systemem operacyjnym). Środowisko Code::Blocks ma zintegrowany plugin o nazwie wxSmith, udostępniający funkcjonalność wxWidgets. WxSmith to narządzie typu RAD (Rapid Application Development). Wygląd okna własnego programu tworzy się metodą drag-and-drop, jednak obsługa zdarzeń wymaga już większych umiejętności.

Alternatywne darmowe narzędzia do tworzenia GUI:

Biblioteki i narzędzia open-source

Inne biblioteki numeryczne znaleźć można tu: http://en.wikipedia.org/wiki/List_of_numerical_libraries.

Wiele gotowych rozwiązań można znaleźć wśród produktów o otwartym kodzie.

Polecana strona: http://en.cppreference.com/w/cpp/links/libs

Oprogramowanie zostało podzielone na kategorie. Dostępne są:

  • Generic
  • Communication
  • Graphic user interface
  • Graphics
  • Audio
  • Video
  • 3D Graphics
  • Internationalization
  • Math
  • Concurrency
  • Containers
  • Serialization
  • Testing
  • Benchmarking
  • XML
  • JSON
  • Web
  • GPS
  • Databases
  • Cryptography
  • File metadata
  • Text
  • Terminal
  • Configuration
  • Embedded languages bindings
  • Embedded/realtime

Uruchamianie w przeglądarce

Istnieje możliwość kompilacji programów C++ do Java Scriptu i uruchamiania ich w przeglądarce internetowej. W ten sposób powstaje aplikacja WEB-owa, działająca niezależnie od systemu operacyjnego. Znane projekty to: