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# … 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 … 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. … 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 … 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 … 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 … 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 … Weiterlesen