Поделиться через


Область

Имена C++ можно использовать только в некоторых областях программы.Эта область называется "область" имя-значение ".Область определяет время существования" name ", не указывает на объект статической области памяти.Область также определяет видимость имени, когда конструкторов и деструкторов класса вызываются, когда инициализируются и локальные переменные в области.(Дополнительные сведения см. в разделе Конструкторы и деструкторы.) 5 Типов областей:

  • **Локальная область   **Имя, объявленное в блоке доступны только внутри этого блока и блоки, заключенных в теги, и только после точки объявления.Имена формальных аргументов функции в самой внешней области блока функции имеют локальную область видимости, если они были объявлены внутри блока включающего тело функции.Рассмотрим следующий фрагмент кода:

    {
        int i;
    }
    

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

  • **Область функций   **Метки линии имена, которые имеют область действия функции.Их можно использовать в любом месте, но недоступен вне функции, которые действуют.

  • **область файла   **Любое имя, объявленное за пределами блоков или классов есть область файла.Он доступен в любом месте единицы измерения перевода после объявления.Имена с областью файла, не объявляют статические объекты часто называются глобальными именами.

    В C++ области файла также как область пространства имен.

  • область класса   Имена членов класса есть область действия класса.Функции члена класса доступны только с помощью операторов (участник-выделения. OR - >указатель-к-участника () или операторы. * OR **- >***в объекте или указателя на объект этого класса. нестатические данные члена класса, считаются локальными на объект этого класса.Рассмотрим следующее объявление класса:

    class Point
    {
        int x;
        int y;
    };
    

    Члены класса x и y рассмотрим, что находиться в области класса Point.

  • **Областью прототипа   **Имена, объявленные в прототипе функций видимы только до конца заполнителя.Следующий прототип объявляет имя (3strDestination" numberOfElementsи strSource); эти имена поступают из области в конце заполнителя.

    errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource );
    

См. также

Ссылки

Основные понятия