Функция может изменять значение глобальной переменной в C++, потому что глобальные переменные доступны из любой функции. 1
Глобальные переменные определены в файле программы вне каких-либо функций и существуют в течение всей жизни программы. 14 Они видны из всех функций, которые определены позже, чем сама глобальная переменная. 4
Однако, как правило, использование глобальных переменных в программах не принято, так как сложно отследить все функции, которые потенциально могут изменить такую переменную. 3