Hallo,
mal eine Konzeptfrage zu einer Überlegung:
In eine Dauerschleife sollen je nach Durchlaufsnummer (Bild: schwarze Spalte) Werte in verschiedene Variablen oder Arrays gelegt werden. Die anderen roten und grünen Spalten entsprechen sozusagen unterschiedlichen Variablen/Arrays. Wenn das Feld Grün ist dann soll bei diesem Durchlauf die Variable genutzt werden (gespeichert und/oder gelesen). Wenn das Feld rot ist wird die Variable dort nicht genutzt.

Der Index der Schleife wird also zur ersten Dimension der Variablen und Arrays. Als Beispiel:
double variable[Schleifenindex];
double variable[42];
oder
int array[Schleifenindex][Feld2];
int array[42][1000];
Das Ganze ist für mich Newbie sehr praktisch denn wenn ein entsprechender Schleifendurchlauf stattfindet, kann dort direkt mit dem aktuellen Index des Durchlaufs immer die korrekte Variable genutzt werden weil die erste Dimension immer dem Schleifenindex entspricht.
Jetzt zu meiner eigentlichen Frage. Zum einen ist es schön strukturiert und einfach aber es werden in der Summe sehr viele Felder gar nicht genutzt (die roten) für die aber Speicherplatz genutzt wird. Sollten es mal richtig viele Felder oder große Arrays geben wird das eine ordentliche Speicherplatzverschwendung.
Gibt es in C++ alternative Ideen/Konzepte/Möglichkeiten, dass nur für die Felder die genutzt werden Speicherplatz reserviert wird aber trotzdem die Sache mit dem einfachen Zugriff wie per Schleifenindex welcher oben als erste Dimension fungiert erhalten bleibt?
lg
mal eine Konzeptfrage zu einer Überlegung:
In eine Dauerschleife sollen je nach Durchlaufsnummer (Bild: schwarze Spalte) Werte in verschiedene Variablen oder Arrays gelegt werden. Die anderen roten und grünen Spalten entsprechen sozusagen unterschiedlichen Variablen/Arrays. Wenn das Feld Grün ist dann soll bei diesem Durchlauf die Variable genutzt werden (gespeichert und/oder gelesen). Wenn das Feld rot ist wird die Variable dort nicht genutzt.

Der Index der Schleife wird also zur ersten Dimension der Variablen und Arrays. Als Beispiel:
double variable[Schleifenindex];
double variable[42];
oder
int array[Schleifenindex][Feld2];
int array[42][1000];
Das Ganze ist für mich Newbie sehr praktisch denn wenn ein entsprechender Schleifendurchlauf stattfindet, kann dort direkt mit dem aktuellen Index des Durchlaufs immer die korrekte Variable genutzt werden weil die erste Dimension immer dem Schleifenindex entspricht.
Jetzt zu meiner eigentlichen Frage. Zum einen ist es schön strukturiert und einfach aber es werden in der Summe sehr viele Felder gar nicht genutzt (die roten) für die aber Speicherplatz genutzt wird. Sollten es mal richtig viele Felder oder große Arrays geben wird das eine ordentliche Speicherplatzverschwendung.
Gibt es in C++ alternative Ideen/Konzepte/Möglichkeiten, dass nur für die Felder die genutzt werden Speicherplatz reserviert wird aber trotzdem die Sache mit dem einfachen Zugriff wie per Schleifenindex welcher oben als erste Dimension fungiert erhalten bleibt?
lg
Zuletzt bearbeitet: