Dlaczego przesyłanie strumieniowe wskaźnika char do cout nie drukuje adresu?
Kiedy drukuję wskaźnik znaków za pomocąprintf()
, podejmuje decyzję ze specyfikatorem konwersji, czy adres powinien zostać wydrukowany, czy cały ciąg według% u lub% s.
Ale kiedy chcę zrobić to samocout
, jak będziecout
zdecydować, co powinno być drukowane wśród adresu i całego ciągu? Oto przykładowe źródło:
int main()
{
char ch='a';
char *cptr=&ch;
cout<<cptr<<endl;
return 0;
}
Tutaj, w moim kompilatorze GNU,cout
próbuje wyświetlić ch jako ciąg.
Jak mogę uzyskać adresch
przezcptr
za pomocącout
?