Suponha que eu tenha o seguinte código:
#include <iostream>
#include <string>
#include <iomanip>
using namespace std; // or std::
int main()
{
string s1{ "Apple" };
cout << boolalpha;
cout << (s1 == "Apple") << endl; //true
}
Minha pergunta é: como o sistema verifica entre esses dois? s1
é um objeto enquanto "Apple"
é uma literal de seqüência de caracteres do estilo C.
Tanto quanto sei, diferentes tipos de dados não podem ser comparados. O que estou perdendo aqui?
std::string
partir de uma c-string.