Ich benutze C und struct
s, wobei eine Struktur Mitglieder haben kann, aber keine Funktionen. Nehmen wir der Einfachheit halber an, dass ich eine Struktur für Zeichenfolgen erstellen möchte, die ich benenne, str
und dass ich tun möchte, str.replace(int i, char c)
wo i
sich der Index der Zeichenfolge befindet und welches c
Zeichen das Zeichen an der Position ersetzen soll i
. Wäre dies niemals möglich, da Strukturen keine Funktionen haben können oder gibt es noch eine Möglichkeit, dieses Verhalten zu implementieren und nachzuahmen, dass eine Struktur eine (einfache) Funktion haben könnte, die eigentlich nur darin besteht, dass die Struktur sich selbst in eine neue Struktur kopiert und diese aktualisiert Felder, was könnte es tun?
Könnte replace
also ein drittes Mitglied der Struktur sein, das auf eine neue Struktur verweist, die aktualisiert wird, wenn darauf zugegriffen wird, oder ähnliches. Könnte es gemacht werden? Oder gibt es etwas Eingebautes oder eine Theorie oder ein Paradigma, das meine Absicht verhindert?
Der Hintergrund ist, dass ich C-Code schreibe und Funktionen neu erfinde, von denen ich weiß, dass sie in OOP-Sprachen eingebaute Bibliotheken sind und dass OOP eine gute Möglichkeit ist, Zeichenfolgen und Befehle zu manipulieren.
str.replace(&str, i, c)
sowieso am Ende sind . this
Natürlich automatisiert C ++ die Übergabe des Zeigers.