Quelle est la différence entre la comparaison de chaînes avec == et compare() en C++ ?
Bonjour, collègues ! J’ai commencé à étudier le C++ et j’ai rencontré une situation peu claire. Quand je compare des chaînes, j’utilise généralement l’opérateur `==`, et il semble fonctionner. Mais dans du code écrit par d’autres, je vois souvent la méthode `compare()`. Voici un exemple :
```cpp
#include
#include
int main() {
std::string str1 = "Hello";
std::string str2 = "Hello";
std::string str3 = "World";
// Méthode 1 : opérateur ==
if (str1 == str2) {
std::cout << "str1 == str2: true" << std::endl;
}
// Méthode 2 : méthode compare()
if (str1.compare(str2) == 0) {
std::cout << "str1.compare(str2) == 0: true" << std::endl;
}
if (str1.compare(str3) != 0) {
std::cout << "str1.compare(str3) != 0: true" << std::endl;
}
return 0;
}
```
Les deux méthodes
No answers yet.
Connectez-vous pour laisser une réponse
Blogs