Witam, w książce C++ szkoła programowania z której się aktualnie uczę był tak przykład:
cout << (int*)"napis" << endl;
Po pierwsze nie jestem pewny czy tutaj dostaniemy adres pierwszego elementu czy adres całego łańcucha?
Po drugie (int*) można tu zastąpić zapisem &, efekt będzie ten sam, tyle że dalej nie jestem pewny czy pracujemy na adresie łańcucha czy pierwszego jego elementu...
A sedno sprawy wygląda tak:
cout << (int*******)"napis" << endl; //działa ale inny adres
cout << (int****)"napis" << endl; //działa ale inny adres
cout << (int**)"napis" << endl; //działa ale inny adres
cout << (int)"napis" << endl; //co tu się dzieje nie mam pojęcia, liczb jest mniej niż liter więc to chyba nie jest ten napis w ASCI
Nie mam zielonego (nawet białego pojęcia) co tu się najlepszego dzieje, jakim cudem to działa i jaki adres teraz otrzymuje?
Wszystko zaczęło się od tego że chciałem sprawdzić za pomocą tego rzutowania adres wskaźnika (wiem że mogłem użyć '&'). Stwierdziłem że skoro to wskaźnik to pasuje napisać (int**), to jednak dalej dawało dziwne rezultaty. Bardzo był bym wdzięczny za wytłumaczenie mi jakoś tego :) Z góry dziękuje i serdecznie pozdrawiam.