Я использую C и structs, где структура может иметь члены, но не функции. Предположим для простоты, что я хочу создать структуру для строк, которые я назвал, strи я хочу иметь возможность делать, str.replace(int i, char c)где iнаходится индекс строки и cсимвол, который заменяет символ в позиции i. Если бы это никогда не было возможно, так как структуры не могут иметь функции, или есть какой-то способ, которым мы можем реализовать это поведение и имитировать, что структура может иметь (простую) функцию, которая на самом деле является только структурой, копирующей себя в новую структуру и обновляющей ее поля, которые он мог сделать?
Таким образом, replaceможет быть третий член структуры, который указывает на новую структуру, которая обновляется при обращении к ней или аналогичной. Это могло быть сделано? Или есть что-то встроенное или какая-то теория или парадигма, которая мешает моему намерению?
Предпосылкой является то, что я пишу код на C и обнаруживаю, что заново изобретаю функции, которые, как я знаю, являются встроенными библиотеками в языках ООП, и что ООП будет хорошим способом манипулирования строками и командами.
str.replace(&str, i, c). thisКонечно, C ++ автоматизирует передачу указателя.