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