C++



C++ Teil 10 – Funktionen I

Funktionsaufbau

Inhalt Einleitung Funktionen erstellen Funktionsaufruf WertĂĽbergabe RĂĽckgabewert Ein Beispiel Ăśbungsaufgaben Einleitung In diesem und in mindestens einem weiteren Teil dieser Artikelreihe werden wir uns mit Funktionen beschäftigen. Funktionen sind ein absolut grundlegendes Element einer (funktionaler) Programmiersprache. C++ ist zwar hauptsächlich eine objektorientierte Programmiersprache (dafĂĽr wurde sie schlieĂźlich entwickelt), aber im Gegensatz zu Java oder C# ist C++ auch gleichzeitig eine funktionale Programmiersprache und erlaubt einem… Weiterlesen

C++: auto SchlĂĽsselwort

auto keyword Beispiel

Der neue C++ Standard wird viele Neuerungen mit sich bringen und bereits jetzt unterstĂĽtzen einige Compiler die neuen Konzepte. Eines der kleineren Neuerungen ist das SchlĂĽsselwort auto. Es steht fĂĽr einen unbekannten Datentyp, den der Compiler selbst bestimmt. Am einfachsten versteht man es anhand eines Beispiels. FĂĽhrt man das Beispiel aus, so bekommt man folgende Bildschirmausgabe zu sehen. Der Compiler erkennt aus dem Zusammenhang welcher… Weiterlesen

C++ Teil 9 – Zeiger

Zeigeraddition

Das Konzept der Zeiger bzw. Pointer(eng. fĂĽr Zeiger) ist fĂĽr Anfänger wahrscheinlich der unbeliebteste und fĂĽr einen Profi der mächtigste Bestandteil von C++. Viele Anfänger verstehen sie anfangs nicht und sogar Profis machen manchmal Fehler im Umgang mit ihnen. Nichtsdestotrotz sind Zeiger ein sehr wichtiges Thema, von dem sich kein C++ – Programmierer drĂĽcken kann. In diesem Abschnitt werde ich eine EinfĂĽhrung in dieses komplexe… Weiterlesen

C++ Teil 8 – Arrays

Zahlenfeld

Einleitung Ein Array (zu Deutsch: ein Feld) ist eine zusammenhängende Folge von Elementen eines bestimmen Datentyps. Arrays können ein oder mehrdimensional sein. Ein eindimensionales Feld entspricht einer einspaltigen Tabelle von Elementen(Variablen), zweidimensionales einem Schachbrett, dreidimensionales einem „Block aus WĂĽrfeln“, Felder mit mehr als drei Dimensionen sind bildlich kaum vorstellbar. Deklaration & Initialisierung Statische Felder werden ähnlich einer einfacher Variable deklariert, wobei am Ende des Arraynamens… Weiterlesen

Dynamische Datenstrukturen – Doppelt verkettete Liste

stdlist_vs_liste2

Einleitung Im ersten Teil des Tutorials haben wir gesehen, wie eine einfach verkettete Liste aufgebaut ist und welche Nachteile sie besitzt. In diesem Abschnitt werden wir diese Nachteile eliminieren und so eine brauchbare Liste bekommen, die sich sehen lassen kann. Um mehr Flexibilität zu erreichen, werden wir auf das Konzept der Template-Klassen zurĂĽckgreifen. Grundkenntnisse der Templates sind also eine Voraussetzung um dieses Tutorial zu verstehen,… Weiterlesen

Schnelle trigonometrische Funktionen

kosinus modellierung

Motivation In der Spieleprogrammierung werden häufig trigonometrische Funktionen, insbesondere Kosinus und Sinus verwendet. Vor allem im 3D Bereich bauen viele Berechnungen auf trigonometrischen Funktionen auf. Demnach könnten diese Funktionen nicht schnell genug sein. Um mehr Leistung aus dem Programm herauszuholen greifen viele auf Lookup Tabellen zurĂĽck. Das ist keine schlechte Lösung, wenn das Ergebnis nicht sehr genau sein soll. Möchte man jedoch mindestens eine Genauigkeit… Weiterlesen

Dynamische Datenstrukturen – Einfach verkettete Liste

EinfĂĽhrung Stellen wir uns vor, wir schreiben ein Programm, welches eine Filmsammlung verwalten soll. Einfachheitshalber werden nur Merkmale wie Titel, Erscheinungsjahr und Genre erfasst. Diese Daten werden in einer Datenstruktur zusammengefasst. Jetzt stellt sich die Frage wie die Filme in unserem Programm intern dargestellt werden. Man könnte ein Array mit Filmen anlegen. So weit so gut. Wir programmieren das Programm fertig und verschicken es an… Weiterlesen