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:
- Emscripten (http://kripken.github.io/emscripten-site/)
- Cherrp (https://www.leaningtech.com/cheerp/)
- Google NaCl (https://developer.chrome.com/native-client)
