Eu uso C e struct
s onde uma estrutura pode ter membros, mas não funções. Suponha, por simplicidade, que eu quero criar uma estrutura para cadeias que eu nomeie str
e que seja capaz de fazer str.replace(int i, char c)
onde i
é o índice da cadeia e c
o caractere para substituir o caractere na posição i
. Isso nunca seria possível, já que estruturas não podem ter funções ou ainda existe alguma maneira de implementar esse comportamento e imitar que uma estrutura poderia ter uma função (simples) que, na verdade, é apenas a estrutura que está se copiando para uma nova estrutura e atualizando sua estrutura? campos, o que poderia fazer?
Portanto, replace
poderia ser um terceiro membro da estrutura que aponta para uma nova estrutura que é atualizada quando é acessada ou semelhante. Isso poderia ser feito? Ou há algo embutido ou alguma teoria ou paradigma que impeça minha intenção?
O pano de fundo é que estou escrevendo código C e me vejo reinventando funções que eu sei que são bibliotecas embutidas em linguagens OOP e que OOP seria uma boa maneira de manipular seqüências de caracteres e comandos.
str.replace(&str, i, c)
qualquer maneira. C ++ automatiza a passagem do this
ponteiro, é claro.