Używam C i struct
s, gdzie struct może mieć członków, ale nie funkcje. Załóżmy dla uproszczenia, że chcę utworzyć strukturę dla ciągów, które nazywam str
i chcę być w stanie zrobić, str.replace(int i, char c)
gdzie i
jest indeks ciągu i c
jest on znakiem zastępującym znak w miejscu i
. Czy nigdy nie byłoby to możliwe, ponieważ struktury nie mogą mieć funkcji lub istnieje sposób, w jaki możemy wdrożyć to zachowanie i naśladować, że struktura może mieć (prostą) funkcję, która w rzeczywistości jest tylko strukturą kopiującą się do nowej struktury i aktualizującą jej pola, które mógłby zrobić?
Więc replace
może być trzecim członkiem struct że punkty do nowej struktury, która jest aktualizowana, gdy jest ona dostępna lub podobny. Czy można to zrobić? Czy jest coś wbudowanego, teorii lub paradygmatu, który uniemożliwia mi zamiar?
Tło jest takie, że piszę kod C i odkrywam, że odkryłem na nowo funkcje, które są wbudowanymi bibliotekami w językach OOP i że OOP byłby dobrym sposobem na manipulowanie ciągami i poleceniami.
str.replace(&str, i, c)
inaczej. this
Oczywiście C ++ automatyzuje przekazywanie wskaźnika.