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ę! =