Der Vorteil einer guten Engine ist, dass sie sich sowol in Spiele als auch in Simulationen intigrieren lässt.
Mach mal ein sizeof(Klasse unbew. Objekt) und lass dir das ausgeben. Dann weißt du, wie groß ein einzelnes Objekt ist.
Code:class MyClass { }; // ... size_t clsize = sizeof(MyClass);
Templates werden nicht zur Laufzeit generiert, das passiert beim Kompilieren. Dynamische Datenstrukturen werden zur Laufzeit angelegt.Zur Thema Vererbung und Polymorphie bestehen Grundkenntnisse, die jedoch erweitert werden.
Heißt es auch dynamische Datenstruktur, wenn die Klassen durch Templates erst zum Einsatz kommen, wenn sie gebraucht werden?
Für Diagramme (z.B. UML) kannst du yED nutzen. Ist Freeware, kann dafür aber ausreichend viel erstellt werden.
yEd - Graph Editor
Templates werden nicht zur Laufzeit generiert, das passiert beim Kompilieren. Dynamische Datenstrukturen werden zur Laufzeit angelegt.

Ich benutze dafür immer Astah
Dieses Programm scheint es nur für Windoof zu geben, oder?


Beliebige Wurzeln zieht man mit der "pow()"-Funktion zum Potenzieren (ebenfalls in der "math.h" enthalten), da "n-te Wurzel" identisch ist zu "hoch 1/n"
Ein Beispiel: Die 7-te Wurzel einer Zahl x erhalte ich in C++ mit "pow(x, 1/7.0)".
Das kannst du ja benutzen, um die Genauigkeit deiner eigenen Implementierung mal zu testen. Mich würde auch interessieren, welchen Algorithmus du zur Berechnung von Wurzeln benutzt. Das ist nämlich nicht gerade einfach, das genau und vor allem numerisch stabil (für alle Eingabewerte von klein bis groß) hinzukriegen.

#include <sys/time.h>
double get_time(void)
{
struct timeval tv;
gettimeofday(&tv, NULL);
return (tv.tv_sec + (tv.tv_use * 1E-6));
}
void foo(void)
{
double tstart, telapsed;
tstart = get_time();
/* Mach was */
telapsed = get_time() - tstart;
printf("Time: %f\n", telapsed);
}