There are two methods of reading a string from the standard input. The first one uses getline(), as in the following example:
std::string name;getline(cin, name); // option #1
The second method uses cin:
cin >> name; // option #2
The two methods aren’t interchangeable, though. getline() reads a line of text that may include embedded whitespaces. It stops reading when it encounters the first newline character. By contrast, cin stops reading when it encounters the first whitespace. Therefore, to read a line of text that may contain blanks (e.g., a sentence), use getline(). To read a single word (e.g., a username), use cin.