W C++ wejście i wyjście w trybie konsolowym realizuje się najczęściej przez bibliotekę iostream, która udostępnia standardowe strumienie:
- cout – strumień wyjściowy (to, co ma zostać pokazane w konsoli),
- cin – strumień wejściowy (to, co użytkownik wpisuje z klawiatury).
Kluczowe są też dwa przeciążone operatory strumieniowe:
- << (tzw. insertion) – "wstawia" dane do strumienia, więc używa się go z cout, aby coś wypisać,
- >> (tzw. extraction) – "wyciąga" dane ze strumienia, więc używa się go z cin, aby coś wczytać.
Dlatego poprawny zapis wypisania zmiennej s (np. std::string s = "To jest tylko test";) to: cout << s;. Ten zapis wysyła zawartość zmiennej do standardowego wyjścia, czyli na ekran/terminal.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- cout >> s; – miesza strumień wyjściowy z operatorem przeznaczonym do pobierania danych; typowo nie ma takiego dopasowania operatora i kompilator zgłosi błąd.
- cin << s; – używa strumienia wejściowego, ale operatora wstawiania; to nielogiczne z punktu widzenia kierunku przepływu danych i również prowadzi do błędu kompilacji.
- cin >> s; – to składnia poprawna, ale służy do wczytania wartości do zmiennej, a nie do jej wyświetlenia.
W praktyce często spotkasz też łańcuchowanie wypisywania, np. cout << "Tekst: " << s;. Warto pamiętać, że do kompilacji potrzebne jest dołączenie nagłówka (np. #include <iostream>) i użycie przestrzeni nazw (np. std::cout), jeśli nie stosujesz skrótu.