Все объявленные переменные имеют глобальную или локальную область видимости в зависимости от их расположения в программе.
Глобальные переменные видны в любом участке кода программы после их объявления. Переменные можно определять в условиях операторов if, switch, while, for. Их можно использовать только в самом операторе. Это локальная область видимости.
Переменные, определенные локально и глобально могут иметь одно и то же имя. Стоит избегать таких ситуаций и давать им уникальные имена.
for(int i = 0; i < 10; i++) {
std::cout << i << std::endl;
}
i = 0; //ошибка: переменная i не объявлена
В цикле локальная переменная, вне - к переменной просто нет доступа.
Как видно, область видимости ограничивается фигурными скобками {}
.
До сих пор в примерах использовалась явная запись имен из стандартной библиотеки. При частом использовании библиотечных имен такая форма записи может оказаться чересчур громоздкой.
Для решении этой проблемы используют объявление using
.
Объявление using
позволяет использовать имена из другого пространства имен без указания префикса имени пространства имен.
#include <iostream>
using std::cout;
using std::endl;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "Привет, Мир!" << endl;
return 0;
}
Можно также просто указать имя пространства имен, и все имена из него станут доступны.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "Привет, Мир!" << endl;
return 0;
}
В небольших проектах не критично, какой именно способ использовать.