Sdílet prostřednictvím


Oblast působnosti

Názvy C++ lze použít pouze v některých oblastech programu.Tato oblast se nazývá "obor" název.Rozsah Určuje "životnost" název, který není k označení objektu statické rozsahu.Rozsah také Určuje viditelnost název, nazývané konstruktory tříd a destruktory a když jsou inicializovány proměnné místního oboru.(Další informace naleznete v tématu konstruktory a destruktory.) Existuje pět typů oboru:

  • Místní obor název deklarována v rámci bloku je přístupná pouze v rámci tohoto bloku a bloky, které jsou uzavřeny a pouze po bodu prohlášení.Názvy formální argumenty funkce v oboru nejvzdálenějších bloku funkce mít místní obor jako byly přihlášeny uvnitř bloku orámování těle funkce.Zvažte následující fragment kódu:

    {
        int i;
    }
    

    Protože prohlášení o i je v bloku obklopeno složenými závorkami, i má místní obor a je nikdy přístupné, protože žádný kód přistupuje před uzavírací složená závorka.

  • Funkce oboru popisky jsou pouze názvy, které mají rozsah funkce.Lze použít kdekoli v rámci funkce, ale nejsou přístupné vně funkce.

  • Soubor oboru libovolný název deklarované mimo všechny bloky nebo třídy má rozsah souboru.Po jeho prohlášení je přístupná kdekoli v jednotce překlad.Názvy s rozsahem souboru, které prohlásí statické objekty se často nazývají globální názvy.

    V jazyce C++ se také nazývá soubor rozsah oboru názvů.

  • Třídy oboru názvy členů třídy mají rozsah třídy.Třída členské funkce je přístupná pouze pomocí operátorů výběr členů (. nebo – >) nebo ukazatele na člen operátory (. * nebo – > *) na objekt nebo ukazatel na objekt třídy; Třída nestatické členské data považována za místní objekt této třídy.Zvažte následující deklaraci třídy:

    class Point
    {
        int x;
        int y;
    };
    

    Členové třídy x a y jsou považovány za v rozsahu třídy Point.

  • Prototyp oboru názvy deklarované v prototyp funkce jsou viditelné pouze do konce prototyp.Následující prototypu prohlašuje tři názvy (strDestination, numberOfElements, a strSource); Tyto názvy dostanou mimo rozsah na konci prototyp:

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

Viz také

Referenční dokumentace

Základní pojmy