Программирование – процедура создания программного обеспечения при помощи синтаксиса того или иного языка. На данный момент в IT используются различные ЯП. Наиболее востребованным (и сложным) является C++.
Если покопаться в источниках Google, то можно узнать, что программы, созданные при помощи C++, широко используются как в ПК, так и на мобильных устройствах. Этот язык разработки программного обеспечения в большей степени ориентирован на опытных программистов. Новичкам освоить его с нуля будет достаточно тяжело. В Google полно информации, которая поможет быстрее разобраться с принципами программирования на C++, не имея никакого опыта в написании контента ранее.
Отличительной чертой упомянутого ЯП является использование концепций и принципов объектно-ориентированной разработки. Google говорит, что в соответствующей методологии используются такие особенности как:
- абстракция;
- инкапсуляция;
- полиморфизм;
- наследование.
Далее предстоит выяснить, как написать первую программу на C++ без использования многочисленной документации и уроков, которые можно обнаружить в Google. Предложенные сведения ориентированы преимущественно на новых разработчиков, которые ранее не имели ничего общего с изучаемым ЯП.
Описание языка
Прежде чем начать работать с C++ и писать программы без Google, необходимо выяснить, с каким языком разработки предстоит иметь дело. Это компилируемый и статически типизированный язык программирования. Он относится к ЯП общего назначения.
Включает в себя следующие парадигмы разработки:
- процедурная;
- объектно-ориентированная;
- обобщенная.
Обладает стандартной библиотекой, которая включает в свой состав распространенные алгоритмы, контейнеры, вводы-выводы, а также многопоточность, регулярные выражения и иные операции. Сочетает в себе свойства высокоуровневых и низкоуровневых ЯП.
Google указывает на то, что C++ широко используется современными программистами. Начать работать с ним «с нуля» не всегда легко. Это связано с особенностями синтаксиса и правил оформления исходного кода приложения. В плане областей применения рассматриваемый ЯП является универсальным средством. Google указывает на то, что он одинаково часто используется для драйверов, системных программ, а также при создании различных утилит, игр и даже кроссплатформенного программного обеспечения. Все зависит от задачи, поставленной перед разработчиком.
Преимущества и недостатки
В языке С плюс-плюс (C++) есть как плюсы, так и минусы. Google ссылается на следующие «сильные» стороны ЯП:
- наличие объектно-ориентированного программирования;
- быстродействие – программы работают достаточно быстро;
- возможность работы с данными на низком уровне, который является близким к аппаратному;
- множество библиотек и компиляторов;
- популярность, благодаря которой C++ используют как новички, так и опытные программисты;
- синтаксис, напоминающий C#, Java и C;
- совместимость с C-языком.
В Google также можно обнаружить ряд недостатков программ, написанных на C++:
- низкий уровень безопасности;
- строгая зависимость от платформы;
- сложный и строгий синтаксис;
- общая сложность инструментов и функций.
Google указывает на то, что у рассматриваемого языка отсутствует автоматическая сборка мусора, имеется стандартная библиотека, но она достаточно маленькая. Здесь также поддерживаются указатели, но их неправильное использование приводит к непредвиденным последствиям.
Google подчеркивает – C++ является современным и удобным средством создания программ и игр. В умелых руках он позволит писать для нейросетей, консолей, операционных систем и драйверов.
Термины и определения
Перед тем как начать написание первого приложения на рассматриваемом языке, программист должен запомнить несколько ключевых определений. Они пригодятся не только в C++, но и в других ЯП с поддержкой объектно-ориентированных концепций.
Google указывает на то, что программистам предстоит запомнить такие понятия как:
- алгоритм – последовательность инструкций или действий, направленная на выполнение конкретной задачи;
- аргумент – значение, передаваемое в функцию или команду программы;
- символ – единица отображения информации, которая равна одной буквенной/символьной записи;
- объект – комбинация связанных переменных, констант и иных структур данных, способных совместно обрабатываться и выбираться;
- класс – набор связанных объектов с общими свойствами;
- константа – значение, которое все время остается неизменным;
- тип данных – классификация данных определенного типа;
- массив – списки/группы схожих типов значений данных, которые были предварительно сгруппированы;
- петля (цикл) – последовательность инструкций, которые выполняются циклично до момента выполнения определенного условия или получения команды на остановку;
- итерация – один проход через заданный набор операций в программе;
- ключевое слово – слово, зарезервированное системой для выполнения определенных операций/задач;
- операнд – объект, которыми можно манипулировать через операторы;
- оператор – объект, умеющий управлять операндами;
- переменная – именованная ячейка памяти, выделенная для хранения данных (информации) приложения;
- указатель – переменная, содержащее имя и адрес расположения объекта;
- синтаксис – набор правил передачи операторов.
Google указывает на то, что первое приложение в C++ будет в обязательном порядке иметь переменные. С соответствующими компонентами сталкивается каждый разработчик. Они являются, согласно Google, основной частью любой программы.
Краткий обзор языка
В самом начале погружения в C++ рекомендуется кратко рассмотреть особенности используемого ЯП. Ключевым моментом в нем являются фигурные скобки. В них пишется «тело» кода – строки, которые будут обрабатываться компилятором программы и восприниматься согласно синтаксису. Если фигурных скобок нет, система не сможет распознать, что именно написал разработчик.
Google указывает на то, что в C++ поддерживаются встроенные типы (они почти полностью повторяют типы данных C):
- символьные: char, wchar_t;
- целочисленные знаковые: signed char, short int, int. long int;
- целочисленные беззнаковые: unsigned char/short int/int/long int;
- с плавающей запятой (точкой): float, double, long double;
- логический: bool (принимает значение true или false).
Язык поддерживает множественное наследование. Здесь, согласно Google, базовые классы (родители/предки) указываются в заголовке описания класса (включая спецификаторы доступа). От каждого класса наследование может быть публичным, закрытым или защищенным:
По умолчанию базовый класс будет наследоваться как private.
Полиморфизм в языке может быть динамическим и параметрическим. Второй вариант представляется:
- аргументами по умолчанию для функций;
- перегрузкой функций;
- механизмом шаблонов.
Инкапсуляция, как уверяет Google, производится через ввод уровня доступа к членам класса: открытый, защищенный, закрытый:
Проверка доступа осуществляется непосредственно при компиляции кода в приложение.
Начало работы – как создать программу
Чтобы написать первый исходный файл «Hello world», который станет приложением на C++, необходимо произвести предварительную подготовку. А именно – установить Visual Studio. При медленном Интернете рекомендуется обратить внимание на Dev C++ 5 версии и новее. Эти среды необходимы для создания проектов на различных языках, включая C++.
Если разработчик имеет дело с Unix-подобными системами, ему предстоит подготовить две «утилиты» – компилятор GCC и любой текстовый редактор (пример – VIM). Больше ничего не потребуется. Этого программного обеспечения хватит для создания первой программы на C++.
Создание проекта
Начиная создание проекта, пользователю предстоит в случае наличия у него Visual Studio:
- Зайти в VS. После – в раздел «Файл».
- Выбрать «Создать» – «Проект».
- Перейти в раздел «Общие» и выбрать «Пустой проект».
- Указать имя исходного файла. В нашем примере – lesson1.
- Нажать на «Ок».
- Нажать правой кнопкой мыши по окну обозревателя решений, наведя курсор на папку «файлы исходного кода».
- В диалоговом окне выбрать пункт «Добавить» – «Создать элемент».
- Ввести название main.cpp.
- Подтвердить операцию.
Теперь мы сделали предварительную подготовку для формирования исходного кода программы. В случае с GCC все проще – достаточно открыть текстовый редактор с подсветкой синтаксиса. Как только на экране появится рабочая область программы, можно начать ввод кода.
Исходный код и его работа
Вот код, который должен быть набран в текстовом редакторе в конечном итоге на первый раз:
Здесь директива #include используется для подключения различных файлов в код программы. #include <iostream> будет заменена при запуске проекта содержимым документа «iostream.h». Он используется стандартной библиотекой языка при выводе и вводе данных на экране.
#include <cstdlib> подключит стандартную библиотеку языка. Это необходимо для работы функции system.
Третья строка указывает на то, что по умолчанию используется именное пространство std. Все, что написано внутри фигурных скобок функции int main (может встречаться как void main) – это основное тело программы. Код, написанный внутри, автоматически выполнится при запуске программы.
Строка count… – это оператор, используемый для вывода текста на экран. Он позволяет не задавать то или иное значение переменной. В соответствующем блоке приведенного примера указывает, что на вывод в консоль отправляется запись «Hello, World!». Оператор endl переводит строку на уровень ниже.
Return 0 – команда, которая необходима для передачи информации системе об успешном завершении программы. Если происходит ошибка, возвращается значение, отличное от нуля.
В конце каждой команды, согласно Google и синтаксису C++, должен стоять символ «точка с запятой».
Для запуска программы в VS необходимо использовать сочетание Ctrl + F5, в GCC – конструкцию типа:
Если программа запустилась без ошибок – все в порядке. В противном случае система сообщит о наличии сбоя. В этой ситуации исходный код проверяется и корректируется.
Интересует профессиональный курс по C++? Добро пожаловать в Otus!