Aracılığıyla paylaş


Kapsam

C++ adları, bir program yalnızca belirli bölgelerde kullanılabilir.Bu alan adı "kapsam" denir.Bir nesne statik kapsam göstermek değil adı "yaşam" kapsamını belirler.Kapsam sınıf Kurucularını ve yıkıcı çağrıldığında ve kapsamı yerel değişkenleri hazırlarken aynı zamanda bir ad görünürlüğünü belirler.(Daha fazla bilgi için bkz: Kurucular ve yıkıcı.) Kapsam beş türü vardır:

  • Yerel kapsam bir blok içinde bildirilen ad o bloğu ve onun ve yalnızca bildirimi noktasýndan sonra içine blokları içinde erişilebilir.İşlev gövdesi kapsayan blok içinde bildirilmiş gibi bir işlev işlevinin en dıştaki bloğun kapsamda biçimsel bağımsız değişkenlerinin adlarını yerel kapsam vardır.Aşağıdaki kodu bölümünü gözden geçirin:

    {
        int i;
    }
    

    Çünkü bildiriminde, i küme ayraçları içine bir blok içinde yer i yerel kapsamlıdır ve kapanýþ küme parantezine önce eriştiği kodu yok çünkü hiçbir zaman erişilemez.

  • İşlev kapsamı işlevi kapsama sahip yalnızca adlarının etiketleridir.Bir işlev içinde herhangi bir yerde kullanılabilir, ancak bu işlev dışında erişilebilir değil.

  • Dosya kapsamı dosyası kapsamı tüm bloklar ya da sınıf dışında bildirilen herhangi bir ada sahip.Bildiriminden sonra herhangi bir yerde çeviri birimi cinsinden erişimine açıktır.Dosya kapsamlı statik nesneler bildirmemeyi adları genellikle genel adları denir.

    C++'da, dosya olarak da bilinen ad kapsamı kapsamıdır.

  • Sınıf kapsamı sınıf üyelerinin adları sınıf kapsamı vardır.Sınıf üyesi işlevleri, yalnızca üye seçimi işleçler kullanılarak erişilebilir (. veya – >) veya işaretçi üye operators (. * veya – > *) bir nesne veya nesne bu sınıfın; gösteren işaretçi başvuramaz sınıf üyesi veri o sınıf nesnesi için yerel olarak değerlendirilir.Aşağıdaki sınıf bildirimi göz önünde bulundurun:

    class Point
    {
        int x;
        int y;
    };
    

    Sınıf üyesi x ve y sınıfının kapsamında kabul edilir Point.

  • Prototip kapsam işlevi prototip bildirilen ad görünür yalnızca prototip sonuna kadar.Prototipi aþaðýdaki üç adlarını bildirir (strDestination, numberOfElements, ve strSource); Bu adlar, prototip sonunda kapsam dışında gidin:

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

Ayrıca bkz.

Başvuru

Temel kavramlar