Qual é a diferença entre comparar strings com == e compare() em C++?
Olá, colegas! Comecei a estudar C++ e me deparei com uma situação confusa. Quando comparo strings, geralmente uso o operador `==`, e ele parece funcionar. Mas no código de outras pessoas, vejo frequentemente o método `compare()`. Aqui está um exemplo:
```cpp
#include
#include
int main() {
std::string str1 = "Hello";
std::string str2 = "Hello";
std::string str3 = "World";
// Método 1: operador ==
if (str1 == str2) {
std::cout << "str1 == str2: true" << std::endl;
}
// Método 2: método 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;
}
```
Ambos os métodos dão o mesmo resultado para uma comparação simples de igualdade. Mas me confunde:
1. Para que serve `compare()`, se `==` é mais simples e curto?
2. Há diferença de desempenho?
3. Pode
No answers yet.
Faça login para deixar uma resposta