Tôi sử dụng C và struct
s trong đó một cấu trúc có thể có các thành viên nhưng không có chức năng. Giả sử cho đơn giản rằng tôi muốn tạo một cấu trúc cho các chuỗi mà tôi đặt tên str
và tôi muốn có thể thực hiện str.replace(int i, char c)
ở đâu i
là chỉ mục của chuỗi và c
là ký tự để thay thế ký tự ở vị trí i
. Điều này sẽ không bao giờ có thể xảy ra vì các cấu trúc không thể có chức năng hoặc vẫn có một số cách chúng ta có thể thực hiện hành vi này và bắt chước rằng một cấu trúc có thể có một chức năng (đơn giản) thực sự chỉ là cấu trúc sao chép chính nó sang một cấu trúc mới và cập nhật nó lĩnh vực, mà nó có thể làm gì?
Vì vậy, replace
có thể là thành viên thứ ba của cấu trúc trỏ đến một cấu trúc mới được cập nhật khi nó được truy cập hoặc tương tự. Nó có thể được thực hiện? Hoặc có một cái gì đó dựng sẵn hoặc một số lý thuyết hoặc mô hình ngăn cản ý định của tôi?
Bối cảnh là tôi đang viết mã C và tôi thấy mình đang phát minh lại các hàm mà tôi biết là các nội dung thư viện bằng ngôn ngữ OOP và OOP sẽ là một cách tốt để thao tác các chuỗi và lệnh.
str.replace(&str, i, c)
. C ++ tự động hóa việc vượt qua this
con trỏ, tất nhiên.