Moin recall,
"Historisch" gesehen waren records einmal Klassen, die nur Eigenschaften hatten (keine Methoden etc.).
das dürfte wohl darauf ankommen, wie weit Du in der Historie zurückgehst.
Ursprünglich dienten Records dazu Daten strukturiert speichern und laden zu können.
(da waren Klassen bestenfalls in der Idee vorhanden)
Grundsätzlich wäre das dann wohl auch ein Anwendungszweck, bei dem man um Records kaum herumkommt.
(auch wenn bei der heutigen Verbreitung von (lokalen) Datenbanken und
xml der Bedarf nicht mehr so hoch sein dürfte).
Wann auch immer Pointer ins Spiel kommen, man um zugeordnete Funktionen/Prozeduren nicht herumkommt oder diese
Datenstrukturen anderweitig zugeordnet werden müssen (z.B. als Object eines Eintrags einer StringListe, würde ich
wohl meist auf eine Klasse zurückgreifen.
Als Rückgabewert einer Funktion kann es mit einer Klasse schwierig werden, hier wäre dann wohl ein Record sinnvoller.
In diesem Falle könnte man dann, ersatzweise, aich einen const Parameter mit einer Klasse übergeben.