Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyrażenie cin >> x

Ostatnio zmodyfikowano 2014-06-20 20:42
Autor Wiadomość
MTPR
Temat założony przez niniejszego użytkownika
Wyrażenie cin >> x
» 2014-06-20 16:25:20
Witam.
Miałem miesięczną przerwę związaną m. in. z poprawą ocen na koniec roku, postanowiłem więc powtórzyć wiedzę na temat programowania zanim zacznę iść dalej i mam wątpliwości w zrozumieniu jak tak naprawdę wykonywane jest wyrażenie cin >> x
Przedstawię 2 fragmenty z pewnej książki.
1.
C/C++
while( cin.get( ch ) )

Wartość zwracana przez cin.get(char) to obiekt cin. Jednak klasa istream ma funkcję, która
pozwala przekształcić obiekt istream taki jak cin na wartość typu bool; funkcja ta jest wywoływana,
kiedy obiekt cin pojawi się w miejscu, gdzie oczekiwana jest wartość typu bool -- np. w warunku pętli while.
Wartość bool odpowiadająca takiej konwersji to true, jeśli ostatnio udał się odczyt, i false w przeciwnym razie.

2.
C/C++
while( i < Max && cin >> fish[ i ] ) /// nieważne co wykonuje pętla, fish to tablica

Wyrażenie cin >> fish to tak naprawdę wywołanie metody cin; metoda ta zwraca cin.
Jeśli obiekt cin jest częścią warunku, jest konwertowany na wartość typu bool.
Konwersja daje true, jeśli wprowadzanie danych się powiedzie, i false w przeciwnym razie.


Chcę was zapytać czy to co teraz napiszę jest prawdą:
cin >> x  - wywoływana jest jakaś metoda cin która wykonuje to wyrażenie a następnie zwraca obiekt cin.
while (cin>>x)  - wywoływana jest metoda cin która wykonuje to wyrażenie i zwraca obiekt cin, następnie wywoływana jest inna metoda która pozwala przekształcić obiekt cin na wartość typu bool, jeżeli to wczytywanie się udało funkcja ta przekonwertuje cin na wartość true typu bool, a jeżeli nie to na false.
P-112388
pekfos
» 2014-06-20 20:42:28
Jest prawdą.
P-112405
« 1 »
  Strona 1 z 1