Si j'ai deux données de caractères, quel est le meilleur moyen de les comparer (tester l'égalité avec ==)? C'est, quel type est le meilleur pour cette comparaison? Un const char *, une chaîne?Comparaison de chaînes C++
Merci beaucoup
Si j'ai deux données de caractères, quel est le meilleur moyen de les comparer (tester l'égalité avec ==)? C'est, quel type est le meilleur pour cette comparaison? Un const char *, une chaîne?Comparaison de chaînes C++
Merci beaucoup
Si votre objectif est simplement de comparer les chaînes pour l'égalité, alors il n'a pas vraiment si vous utilisez des chaînes à zéro terminal ou un certain conteneur de chaîne comme std::string
.
Vous pouvez utiliser std::strcmp
pour comparer deux chaînes à zéro terminal tout aussi facilement que vous pouvez utiliser operator==
pour comparer deux objets std::string
. L'opérateur surchargé rend le code plus propre et plus facile à lire dans la plupart des cas.
Bien sûr, puisque vous programmez en C++, vous devriez utiliser std::string
ou un autre conteneur de chaînes et ne pas manipuler des données brutes à zéro terminal, dans la mesure du possible.
+1 pour la dernière phrase, en particulier pour "autant que possible". –