vtordisp
pragma
Gizli vtordisp
yapı/imha yer değiştirme üyesinin eklenmesini denetler. vtordisp
pragma C++'a özeldir.
Sözdizimi
#pragma vtordisp(
[push,
] n)
#pragma vtordisp(pop)
#pragma vtordisp()
#pragma vtordisp(
[push,
] {on
|off
})
Parametreler
push
geçerli vtordisp
ayarı iç derleyici yığınına iletir ve yeni vtordisp
ayarı n olarak ayarlar. n belirtilmezse geçerli vtordisp
ayar değiştirilmez.
pop
İç derleyici yığınından en üstteki kaydı kaldırır ve ayarı kaldırılan değere geri yükler vtordisp
.
n
Ayar için vtordisp
yeni değeri belirtir. Olası değerler , , veya 2
, , ve /vd2
derleyici seçeneklerine /vd0
/vd1
karşılık gelen değerlerdir0
. 1
Daha fazla bilgi için bkz /vd
. (Yapı Yer Değiştirmelerini Devre Dışı Bırakma).
on
ile eşdeğerdir #pragma vtordisp(1)
.
off
ile eşdeğerdir #pragma vtordisp(0)
.
Açıklamalar
vtordisp
pragma yalnızca sanal tabanları kullanan kodlar için geçerlidir. Türetilmiş bir sınıf, bir sanal temel sınıftan devraldığı bir sanal işlevi geçersiz kılarsa ve türetilmiş sınıf için bir oluşturucu veya yıkıcı sanal temel sınıfına bir işaretçi kullanarak bu işlevi çağırırsa, derleyici sanal temelleri olan sınıflara fazladan gizli vtordisp
alanlar ekleyebilir.
, vtordisp
pragma onu izleyen sınıfların düzenini etkiler. /vd0
, /vd1
ve /vd2
derleyici seçenekleri, tam modüller için aynı davranışı belirtir. Gizli vtordisp
üyeleri belirtme 0
veya off
gizleme. Yalnızca sınıfın oluşturucularının ve yıkıcılarının işaretçi tarafından this
işaret edilen nesnede sanal işlevleri çağırma olasılığı yoksa kapatınvtordisp
.
veya on
belirtilmesi1
, varsayılan olarak gizli vtordisp
üyeleri gerekli oldukları yerde etkinleştirir.
Belirtme, 2
sanal işlevlere sahip tüm sanal temeller için gizli vtordisp
üyeleri etkinleştirir. #pragma vtordisp(2)
kısmen değiştirilebilir bir nesnenin performansının dynamic_cast
doğru olduğundan emin olmak için gerekli olabilir. Daha fazla bilgi için bkz . Derleyici Uyarısı (düzey 1) C4436.
#pragma vtordisp()
, bağımsız değişken olmadan ayarı ilk ayarına geri yükler vtordisp
.
#pragma vtordisp(push, 2)
class GetReal : virtual public VBase { ... };
#pragma vtordisp(pop)
Ayrıca bkz.
Pragma yönergeleri ve __pragma
ve _Pragma
anahtar sözcükleri