1.3a __ A first look at cout, cin, and endl
std::cout
As noted in previous sections, the std::cout object (in the iostream library) can be used to output text to the console. As a reminder, here’s our Hello world program:
To print more than one thing on the same line, the output operator (<<) can be used multiple times. For example:
This program prints:
What would you expect this program to print?
You might be surprised at the result:
std::endl
If we want to print things to more than one line, we can do that by using std::endl. When used with std::cout, std::endl inserts a newline character (causing the cursor to go to the start of the next line).
For example:
This prints:
std::cin
std::cin is the opposite of std::cout -- whereas std::cout prints data to the console using the output operator (<<), std::cin reads input from the user at the console using the input operator (>>). Now that you have a basic understanding of variables, we can use std::cin to get input from the user and store it in a variable.
Try compiling this program and running it for yourself. When you run the program, it will print “Enter a number: ” and then wait for you to enter one. Once you enter a number (and press enter), it will print “You entered ” followed by the number you just entered.
For example (I entered 4):
This is an easy way to get input from the user, and we will use it in many of our examples going forward.
If your screen closes immediately after entering a number, please see section 0.7 -- a few common cpp problems for a solution.
(As an interesting side note, if you enter a really big number, the results may surprise you. Try it! This happens because x can only hold numbers up to a certain size. After that, it “overflows”. We’ll discuss overflow in a future section.)
std::cin, std::cout, <<, and >>
New programmers often mix up std::cin, std::cout, << and >>. Here’s an easy way to remember:
- std::cin and cout always go on the left-hand side of the statement.
- std::cout is used to output a value (cout = output)
- std::cin is used to get an input value (cin = input)
- << is used with std::cout, and shows the direction that data is moving from the r-value to the console.
std::cout << 4 moves the value of 4 to the console - >> is used with std::cin, and shows the direction that data is moving from the console into the variable.
std::cin >> x moves the value from the console into x
(Admin note: Discussion of the std::namespace and using statements has been moved to lesson 1.8a -- Naming conflicts and the std namespace)
no operator matches these operands
ReplyDeleteThis comment has been removed by the author.
ReplyDelete