Alles gute Antworten.
Ich würde nur "Datenstruktur minimieren" hinzufügen. Dies könnte in C sogar einfacher sein, denn wenn C ++ "C mit Klassen" ist, versucht OOP Sie zu ermutigen, jedes Substantiv / Verb in Ihrem Kopf zu nehmen und es in eine Klasse / Methode umzuwandeln. Das kann sehr verschwenderisch sein.
Angenommen, Sie haben zu bestimmten Zeitpunkten eine Reihe von Temperaturmesswerten und möchten diese in Windows als Liniendiagramm anzeigen. Windows verfügt über eine PAINT-Nachricht. Wenn Sie diese erhalten, können Sie das Array mit LineTo-Funktionen durchlaufen und die Daten skalieren, während Sie sie in Pixelkoordinaten konvertieren.
Was ich viel zu oft gesehen habe, ist, dass Menschen, da das Diagramm aus Punkten und Linien besteht, eine Datenstruktur aufbauen, die aus Punktobjekten und Linienobjekten besteht, die jeweils in der Lage sind, sich selbst zu zeichnen, und diese dann nach der Theorie, dass dies der Fall ist, dauerhaft machen ist irgendwie "effizienter", oder dass sie möglicherweise in der Lage sein müssen, über Teile des Diagramms zu fahren und die Daten numerisch anzuzeigen, damit sie Methoden in die Objekte einbauen, um damit umzugehen, und das natürlich. beinhaltet das Erstellen und Löschen von noch mehr Objekten.
Sie erhalten also eine riesige Menge an Code, der ach so lesbar ist und lediglich 90% der Zeit für die Verwaltung von Objekten benötigt.
All dies geschieht im Namen von "guter Programmierpraxis" und "Effizienz".
Zumindest in C wird der einfache, effiziente Weg offensichtlicher und die Versuchung, Pyramiden zu bauen, weniger stark sein.