Давайте разберем std::cin.getline()
.Во-первых, есть std::
.Это пространство имен, в котором живет стандартная библиотека.Он имеет сотни типов, функций и объектов.
std::cin
такой объект.Это стандартный объект ввода символов, определенный в <iostream>
.У него есть несколько собственных методов, но вы также можете использовать его со многими бесплатными функциями.Большинство из этих методов и функций являются способами получения одного или нескольких символов из стандартного ввода.
Наконец, .getline()
является одним из таких методов std::cin
(и других подобных объектов).Вы сообщаете ему, сколько символов он должен получить от объекта с левой стороны (std::cin
здесь) и где разместить эти символы.Точное количество символов может варьироваться: .getline()
остановится в трех случаях: 1. Достигнут конец строки 2. На входе не осталось символов (обычно это не происходит на std::cin
, так как вы можете сохранитьнабор текста) 3. Читается максимальное количество символов.
Существуют и другие методы и функции, которые можно использовать с объектом std::cin
, например,
std::string s;
int i;
std::cin >> s; // Read a single word from std::cin
std::cin >> i; // Read a single number from std::cin
std::getline(std::cin, s); // Read an entire line (up to \n) from std::cin
std::cin.ignore(100); // Ignore the next 100 characters of std::cin