pointers_to_members
C++'ya Özel
Bir sınıf üyesi için bir işaretçi ilişkilendirilmiş sınıf tanımına önce bildirilen ve işaretçi boyutunu ve işaretçiyi yorumlamak için gerekli kodu denetlemek için kullanılan belirtir.
#pragma pointers_to_members( pointer-declaration, [most-general-representation] )
Notlar
Siz koyabilirsiniz bir pointers_to_members kullanmaya alternatif olarak, kaynak dosyanızdaki pragma /vmx derleyici seçenekleri veya Devralma anahtar sözcükler.
İşaretçi bildirimi bağımsız değişkeni, bir işaretçi üyesi için önce veya sonra ilişkili işlev tanımı bildirilen olup olmadığını belirtir.İşaretçi bildirimi bağımsız değişkeni aşağıdaki iki simge biridir:
Bağımsız Değişken |
Comments |
---|---|
tam_yönetim |
Güvenli, bazen nonoptimal kodu üretir.Kullandığınız full_generality önce ilişkilendirilmiş sınıf tanımı herhangi bir üye işaretçisine bildirilirse.Bu bağımsız değişkeni tarafından belirtilen işaretçi yapısından her zaman kullanan en genel gösterimi bağımsız değişkeni./vmg değerine eşdeğerdir. |
En iyi durum |
Tüm İşaretçiler üyelerine için bunların gösterimi kullanılarak güvenli, en iyi kod oluşturur.Bir işaretçi sınıf üyesi bildirmek önce sınıf tanımlama gerektirir.Kayıtlı varsayılan en iyi durum'dur. |
En genel gösterimi derleyici güvenle herhangi bir çeviri biriminde bir sınıf üyesi işaretçisine başvurmak için kullanabileceğiniz küçük işaretçi yapısından bağımsız değişkeni belirtir.Arguman aşağıdakilerden biri olabilir:
Bağımsız Değişken |
Comments |
---|---|
single_inheritance |
En genel tek devralma, bir üye işlev işaretçisi temsilidir.Şimdiye kadar ya da üye için bir işaretçi olarak bildirilen bir sınıf tanımının devralma modeli ise, bir hata neden birden çok veya sanal. |
multiple_inheritance |
En genel çoklu devralma, bir üye işlev işaretçisi temsilidir.Şimdiye kadar ya da üye için bir işaretçi olarak bildirilen bir sınıf tanımının devralma modeli ise, bir hata nedeni sanal olabilir. |
virtual_inheritance |
En genel sanal-devralma, bir üye işlev işaretçisi temsilidir.Hiçbir zaman bir hata neden olur.Bu varsayılan bağımsız değişkendir, #pragma pointers_to_members(full_generality) kullanılır. |
![]() |
---|
Biz yerleştirmenizi tavsiye pointers_to_members pragma etkilemek istediğiniz kaynak kodu dosyası ve yalnızca herhangi sonra #include yönergeleri.Bu yöntem pragma diğer dosyaları etkileyeceğini riskini azaltır ve yanlışlıkla olur aynı değişken, işlev veya sınıf adı için birden çok tanımı belirtin. |
Örnek
// Specify single-inheritance only
#pragma pointers_to_members( full_generality, single_inheritance )