C++ Базовый синтаксис

Программу на C++ можно определить как совокупность объектов, которые взаимодействуют, вызывая методы друг друга. Теперь давайте кратко рассмотрим, что такое классы, объекты, методы и переменные экземпляра.

  • Объект -Объекты обладают состоянием и поведением. Например: состояние собаки - цвет, имя, порода; поведение - виляние хвостом, лай, поедание. Объект является экземпляром класса.
  • Класс -Класс можно определить как шаблон/чертёж, описывающий поведение/состояние объекта.
  • Метод -По сути, метод представляет поведение. Класс может содержать несколько методов. Вы можете писать логику, управлять данными и выполнять все действия в методах.
  • Переменная экземпляра -Каждый объект имеет собственные уникальные переменные экземпляра. Состояние объекта создаётся значениями этих переменных экземпляра.

Структура программы на C++

Давайте посмотрим на простой фрагмент кода, который может вывести словоHello World。

Пример

#include <iostream> using namespace std; // main() — где начинается выполнение программы int main() { cout << "Hello World"; // Вывод Hello World return 0; }

Далее мы объясним вышеприведённую программу:

  • Язык C++ определяет некоторые заголовочные файлы, которые содержат информацию, необходимую или полезную в программе. В вышеприведённой программе включается заголовочный файл<iostream>。
  • Следующая строкаusing namespace std;Сообщает компилятору использовать пространство имён std. Пространство имён — относительно новая концепция в C++.
  • Следующая строка// main() is where the program starts executingЭто однострочный комментарий. Однострочный комментарий начинается с // и заканчивается в конце строки.
  • Следующая строкаint main()Это главная функция, с которой начинается выполнение программы.
  • Следующая строкаcout << "Hello World";Выведет сообщение "Hello World" на экран.
  • Следующая строкаreturn 0;Завершает функцию main() и возвращает значение 0 вызывающему процессу.

Компиляция и выполнение программы на C++

Теперь давайте посмотрим, как сохранить исходный код в файл и как его скомпилировать и запустить. Вот простые шаги:

  • Откройте текстовый редактор и добавьте приведённый выше код.
  • Сохраните файл как hello.cpp.
  • Откройте командную строку и перейдите в каталог, где сохранён файл.
  • Введите 'g++ hello.cpp', нажмите Enter и скомпилируйте код. Если в коде нет ошибок, командная строка перейдёт на следующую строку и создаст исполняемый файл a.out.
  • Теперь введите ' a.out', чтобы запустить программу.
  • Вы увидите 'Hello World' на экране.
$ g++ hello.cpp
$ ./a.out
Hello World

Убедитесь, что компилятор g++ включён в ваш PATH, и убедитесь, что вы запускаете его в каталоге, содержащем исходный файл hello.cpp.

Вы также можете использовать makefile для компиляции программ на C/C++.

Точки с запятой и блоки операторов в C++

В C++ точка с запятой является терминатором оператора. То есть каждый оператор должен заканчиваться точкой с запятой. Она обозначает конец логической сущности.

Например, следующие три оператора являются разными:

x = y; y = y+1; добавьте(x, y);

Блок операторов — это группа логически связанных операторов, заключённая в фигурные скобки. Например:

{ cout << "Hello World"; // Вывод Hello World return 0; }

C++ не использует конец строки в качестве терминатора, поэтому можно размещать несколько операторов в одной строке. Например:

x = y; y = y+1; добавьте(x, y);

Эквивалентно

x = y; y = y+1; добавьте(x, y);

Идентификаторы в C++

Идентификатор C++ — это имя, используемое для идентификации переменной, функции, класса, модуля или любого другого элемента, определяемого пользователем. Идентификатор начинается с буквы A-Z или a-z, или символа подчёркивания _, за которым следует ноль или более букв, символов подчёркивания и цифр (0-9).

Символы пунктуации, такие как @, & и %, не допускаются в идентификаторах C++. C++ — регистрозависимый язык программирования. Следовательно, в C++Manpowerиmanpower— это два разных идентификатора.

Ниже приведены несколько допустимых идентификаторов:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

Ключевые слова C++

В следующей таблице перечислены зарезервированные слова в C++. Эти зарезервированные слова нельзя использовать в качестве имён констант, имён переменных или других имён идентификаторов.

asmelseновыйthis
autoenumoperatorthrow
boolexplicitprivateистина
breakexportprotectedtry
caseexternpublictypedef
catchfalseрегистрtypeid
charfloatreinterpret_casttypename
классforreturnобъединение
constfriendshortunsigned
const_castgotosignedusing
continueifsizeofvirtual
defaultinlinestaticvoid
удалениеintstatic_castvolatile
dolongstructwchar_t
doublemutableswitchwhile
dynamic_castnamespacetemplate 

Для полного ознакомления с ключевыми словами обратитесь к:Полное введение в ключевые слова C++ (зарезервированные слова)


Триграфы

Триграф — это последовательность из трёх символов, используемая для представления другого символа, также называемая триграфной последовательностью. Триграфная последовательность всегда начинается с двух вопросительных знаков.

Триграфные последовательности не очень распространены, но стандарт C++ позволяет задавать определённые символы в виде триграфных последовательностей. В прошлом это был необходимый способ представления символов, недоступных на клавиатуре.

Триграфные последовательности могут появляться где угодно, включая строки, последовательности символов, комментарии и директивы препроцессора.

Ниже перечислены наиболее часто используемые триграфные последовательности:

Триграфызамена
??=#
??/\
??'^
??([
??)]
??!|
??<{
??>}
??-~

Если вы хотите, чтобы в исходной программе было два идущих подряд вопросительных знака и вы не хотите, чтобы они заменялись препроцессором, такая ситуация возникает в символьных константах, строковых литералах или комментариях программы. Альтернативой является использование автоматической конкатенации строк: "...?""?..." или escape-последовательности: "...?\?...".

Начиная с Microsoft Visual C++ 2010, компилятор больше не заменяет триграфы по умолчанию. Если вам нужно использовать замену триграфов (например, для совместимости со старым программным кодом), необходимо задать параметр командной строки компилятора /Zc:trigraphs.

g++ по-прежнему поддерживает триграфы по умолчанию, но выдаёт предупреждение при компиляции.

Пробелы в C++

Строка, содержащая только пробелы, возможно, с комментарием, называется пустой строкой; компилятор C++ полностью её игнорирует.

В C++ пробельные символы используются для обозначения пробелов, табуляций, символов новой строки и комментариев. Пробельные символы разделяют части инструкции, позволяя компилятору распознавать, где заканчивается один элемент инструкции (например, int) и где начинается следующий элемент. Поэтому в следующей инструкции:

int age;

Здесь между int и age должен быть хотя бы один пробельный символ (обычно пробел), чтобы компилятор мог их различить. С другой стороны, в следующей инструкции:

fruit = apples + oranges;   // 获取水果的总数

Пробельные символы между fruit и = или между = и apples не обязательны, но для лучшей читаемости можно при необходимости добавить несколько пробелов.

Другие расширения