The difference is thatstd::getline
— as the name suggests — reads a line from the given input stream (which could be, well, std::cin
) and operator>>
reads a word1.
That is, std::getline
reads till a newline is found and operator>>
reads till a space (as defined by std::isspace
) and is found. Both remove their respective delimiter from the stream but don't put it in the output buffer.
1. Note that >>
can also read numbers — int
, short
, float
, char
, etc.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…