Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmScPN 302 of 390 menu
◀ ▶

Совпадение имен с параметрами в C++

Параметры функции являются локальными переменными внутри нее. Давайте назовем параметр функции таким же именем, как и внешнюю глобальную переменную:

#include <iostream> int num = 1; void func(int num) { std::cout << num << "\n"; } int main() { func(num); // выведет 1 return 0; }

В данном случае у нас получится так, что снаружи функции будет переменная num и внутри функции будет переменная num. Но это будут разные переменные: изменение переменной внутри функции будет приводить к изменению локальной переменной функции. А внешняя переменная внутри функции будет недоступна и не сможет быть изменена никаким способом. Проверим:

#include <iostream> int num = 1; void func(int num) { num = 2; // меняем локальную переменную } int main() { func(num); std::cout << num << "\n"; // выведет 1 - ничего не поменялось return 0; }

Определите, не запуская код, что выведется в консоль:

int num = 1; void func(int num) { num = 2; } int main() { func(num); std::cout << num << "\n"; return 0; }

Определите, не запуская код, что выведется в консоль:

int num = 1; void func() { num = 2; } int main() { func(); std::cout << num << "\n"; return 0; }

Определите, не запуская код, что выведется в консоль:

int num = 1; void func() { int num = 2; } int main() { func(); std::cout << num << "\n"; return 0; }
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить