Le moyen le plus efficace de mettre en œuvre une recherche phonétique

Quel est le moyen le plus efficace pour mettre en œuvre une recherche phonétique en C++ et/ou Java? Par la recherche phonétique, je veux dire la substitution de voyelles ou de consonnes que son semblable. Ce serait particulièrement utile pour les noms, parce que parfois, les noms de personnes ont en quelque sorte étrange de l'orthographe.

Je pense qu'il pourrait être efficace pour substituer les voyelles et quelques consonnes. Il peut également être judicieux de l'inclure certains cas particuliers, comme le silence " E " à la fin ou F et PH. Serait-il préférable d'utiliser cstring ou de chaînes de caractères en C++? Serait-il préférable de conserver une copie dans la mémoire avec les valeurs substituées ou appeler une fonction à chaque fois, nous cherchons quelque chose?

source d'informationauteur ctype.h