C++: Kopplung von Index-Feldern und Instanzen

Hallo zusammen,

ich lerne gerade C++, und soll für eine Aufgabe eine Klasse für Datensätze füllen (hier eine Tabelle mit Studenten). Jeder Student soll dazu eine einmalige Identifizierungsnummer bekommen, die aber nicht im Datensatz selbst sondern in einem seperaten Array (mit Referenz auf den Datensatz) gespeichert werden soll.

Hier nun meine Frage: Wie erzeuge ich eine Referenz zwischen einem Arrayeintrag (bzw. den Index, je nachdem) und einer Instanz, und wie kann ich dann darauf zugreiffen?

Ich hoffe mir kann jemand helfen, und vielen dank im vorraus!

Hier nun meine Frage: Wie erzeuge ich eine Referenz zwischen
einem Arrayeintrag (bzw. den Index, je nachdem) und einer
Instanz, und wie kann ich dann darauf zugreiffen?

Ich hoffe mir kann jemand helfen, und vielen dank im vorraus!

Ich glaub das ist ein pointer den du im array speichrst, also ein array voller pointer .

http://www.willemer.de/informatik/cpp/pointer.htm

schau bei Arrays und Zeiger nach :smile:

das sollte dir alles erklären . bis zum müde werden :smile:

Ich glaub das ist ein pointer den du im array speichrst, also
ein array voller pointer .

Neinnein, in dem Array sollen schon die Matrikelnummern als int-Wert stehen. Ich soll in einer späteren Aufgabe eine bestimmte Matrikelnummer aus dem Array suchen und über den Eintrag (bzw. den Index) dann an den zugehörigen Datensatz kommen.

Oder kann man einen int-Wert gleichzeitig als Pointer verwenden?

Ich glaub das ist ein pointer den du im array speichrst, also
ein array voller pointer .

Neinnein, in dem Array sollen schon die Matrikelnummern als
int-Wert stehen.

Doch wohl beides. Ein Array aus Matrikelnummern (int) und Referenzen auf Studenten (student*).

Kann man entweder als Datenstruktur mit zwei Arrays oder als Array von Datenstrukturen aus Integer und Pointer realisieren. Was jetzt besser ist, hängt von ein paar Faktoren. Ich würde eher erstes implementieren.

Ich soll in einer späteren Aufgabe eine
bestimmte Matrikelnummer aus dem Array suchen und über den
Eintrag (bzw. den Index) dann an den zugehörigen Datensatz
kommen.

Ja, genau dafür ist ein Index ideal. Denn die Suchwerte liegen im Speicher direkt nebeneinander. Würden die Suchwerte (nur) im Record selbst abgelegt, wäre die Schrittweite deutlich größer.
Mit einem Index steigt die Wahrscheinlichkeit, dass der zu durchsuchende Speicherbereich in irgendwelchen Caches deutlich schneller abgearbeitet werden kann.

Oder kann man einen int-Wert gleichzeitig als Pointer
verwenden?

Grrrrr! Willst Du basteln oder programmieren lernen?

Ciao, Allesquatsch