Инициализация переменных

При объявлении переменной ей можно сразу присвоить начальное значение, указав его после оператора =. Эта операция называется инициализацией переменной.  Пример указания значения:

int x, y = 10, z = 30, k;

Переменная становится видимой сразу после объявления, поэтому на одной строке с объявлением (после запятой) эту переменную уже можно использовать для инициализации других переменных:

int x = 5, y = 10, z = x + y; // z равно 15

При инициализации допустимо указывать значение не только после оператора =, но и внутри круглых или фигурных скобок после имени переменной:

int x(10);                   // x равно 10
int y{20};                   // y равно 20
std::cout << x << std::endl; // 10
std::cout << y << std::endl; // 20

Причем указание пустых фигурных скобок означает инициализацию значением по умолчанию для типа (целочисленные переменные получат значение 0):

int y {};                    // y равно 0
std::cout << y << std::endl; // 0

Инициализация глобальных (объявленных вне функций) переменных производится только один раз. Локальные (объявленные внутри функций) переменные инициализируются при каждом вызове функции, а статические (сохраняющие свое значение между вызовами) локальные переменные — один раз при первом вызове функции. Если при объявлении переменной значение не было присвоено, то:

  • глобальные переменные автоматически получают значение 0;
  • локальным переменным значение не присваивается. Переменная будет содержать произвольное значение, так называемый «мусор»;
  • статические локальные переменные автоматически получают значение 0.

Присвоить значение переменной можно уже после объявления, указав его после оператора =. Эта операция называется присваиванием. Пример присваивания:

int x;
x = 10;

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов