Dwa literały ciągów mają taką samą wartość wskaźnika?

Kiedy uruchamiam ten program za pomocą MinGW, otrzymuję dane wyjściowe jako „=”

#include<iostream>

using namespace std;

int main()
{
 char *str1 = "Hello";
 char *str2 = "Hello";

 if(str1==str2)
 cout<<"=";
 else
 cout<<"!=";


 return 0;
}

Jednak logicznie powinno to być! =, Bo to są wskaźniki i wskazują na różne lokalizacje pamięci. Kiedy uruchamiam ten kod w moim Turbo C ++, otrzymuję! =

questionAnswers(5)

yourAnswerToTheQuestion