fork download
  1. #include <iostream> // Включить заголовочный файл "iostream". Это библиотечный файл встроенной (стандартной) библиотеки C++ а заголовочные файлы стандартной библиотеки решили называть без расширения .h . Но пользовательские заголовочные файлы принято называть с расширением .h (header - заголовок) или реже .hpp .
  2.  
  3. int main() { // main - главный. Эта функция должн присутствовать в каждой программе. С нее начинается выполнение программы. (На самом деле нет потому что сначала создаются глобальные и статические экземпляры и вызываются их конструкторы но это ты узнаешь скоро).
  4. std::cout << "What's your name?\n"; // std:: - область имен стандартной (встроенной) библиотеки. Чтобы имена библиотеки не пересекались с именами пользовательскими в С++ придумали области имен - namespace. Тоже скоро узнаешь. cout - глобальная переменная которую завели в библиотеке - сокращенно от console output - консольный вывод (текста).
  5. std::string name; // string - класс "строка" для работы со строками. name - имя - моя переменная типа std::string.
  6. std::cin >> name; // cin - console input - консольный ввод. >> - оператор (функция) чтения с консоли. Здесь читаю с консоли текст и сохраняю его в переменную name. Еще можно читать числа. В зависимости от того в какую переменную читаешь (текст или число) cin пытается распознать в веденной строке текст или число. Это называется форматированный ввод. Кстати это overload - перегрузка функции operator>>(). В зависимости от типа параметра (строка или число) вызывается подходящий >>.
  7. if(name.empty()) { // empty() - пустой. Метод класса std::string. Возвращает true (истина) если строка (экземпляр) пустая или false (ложь) если строка не пустая. Так я узнаю удалось ли опепратору >> прочитать с консоли текст. if - если - оператор условия. Если условие в скобочках выполняется то выполняется то что далее в фигурных скобочках {}.
  8. std::cout << "OK sorry.\n";
  9. }
  10. else { // else - иначе. Выполняется если условие в if не выполнилось т.е. здесь если строка не пустая.
  11. std::cout << "Hi " << name << "! Nice to meet you!\n";
  12. }
  13. return 0; // return - вернуть. Вернуться из функции с таким-то значением (или без если return без значения). У нас main как написано в начале возвращает int поэтому чтобы не нарушить стек мы должны вернуть int. Компилятор проследит за этим (за редким исключением когда это невозможно но это потом).
  14. }
Success #stdin #stdout 0.01s 5388KB
stdin
Standard input is empty
stdout
What's your name?
OK sorry.