Aracılığıyla paylaş


/vmm, /vms, /vmv (Genel Amaçlı Gösterim)

/vmg Gösterim yöntemi olarak seçildiğinde kullanılır. Bu seçenekler henüz karşılaşılmayan sınıf tanımının devralma modelini gösterir.

Sözdizimi

/vmm
/vms
/vmv

Seçenekler

/vmm
Bir sınıfın üyesine yönelik bir işaretçinin en genel gösterimini, birden çok devralma kullanan bir üye olarak belirtir.

öğesine karşılık gelen devralma anahtar sözcüğü ve bağımsız değişkenidir #pragma pointers_to_membersmultiple_inheritance.

Bu gösterim, tek devralma için gerekenden daha büyüktür.

Sanal devralma modeline sahip bir sınıfın üyesine yönelik bir işaretçi kullanır /vmm ve bildirirseniz, derleyici bir hata oluşturur.

/vms
Devralma veya tek devralma içermeyen bir sınıf üyesine işaretçinin en genel gösterimini belirtir. öğesine karşılık gelen devralma anahtar sözcüğü ve bağımsız değişkenidir #pragma pointers_to_memberssingle_inheritance.

Bu seçenek, bir sınıfın üyesine yönelik bir işaretçinin mümkün olan en küçük gösterimini oluşturur.

Birden çok veya sanal devralma modeline sahip bir sınıfın üyesine yönelik bir işaretçi kullanır /vms ve bildirirseniz, derleyici bir hata oluşturur.

/vmv
Sanal devralma kullanan bir sınıfın üyesine yönelik bir işaretçinin en genel gösterimini belirtir. Bu işaretçi gösterimi hiçbir zaman hataya neden olmaz ve varsayılan değerdir.

öğesine karşılık gelen devralma anahtar sözcüğü ve bağımsız değişkenidir #pragma pointers_to_membersvirtual_inheritance.

Bu seçenek, işaretçiyi yorumlamak için diğer seçeneklerden daha büyük bir işaretçi ve daha fazla kod gerektirir.

Açıklamalar

Visual Studio 2019 ve önceki sürümlerinde Microsoft, üyeye işaretçi türleri için farklı gösterimler (farklı boyutlarda) kullanır. Devralma veya tek devralma olmayan sınıfların üyelerine yönelik işaretçiler en küçük gösterime sahiptir. Birden çok devralmaya sahip sınıfların üyelerine yönelik işaretçiler daha büyüktür. Sanal devralmaya sahip sınıfların üyelerine yönelik işaretçiler en büyüktür. Derleyiciye hiçbir gösterim modeli belirtilmediğinde, varsayılan olarak en büyük, en genel gösterimi kullanır.

Bu devralma modeli seçeneklerinden birini belirttiğinizde, devralma türleri veya işaretçiyi sınıftan önce veya sonra bildirmeniz fark etmeksizin, bu model sınıf üyelerine yönelik tüm işaretçiler için kullanılır. Her zaman tek devralma sınıfları kullanıyorsanız, ile /vmsderleyerek kod boyutunu küçültebilirsiniz. Ancak, en genel durumu kullanmak istiyorsanız (en büyük veri gösterimi pahasına), ile /vmvderleyin.

Bu derleyici seçeneğini Visual Studio geliştirme ortamında ayarlamak için

  1. Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.

  2. Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.

  3. Ek Seçenekler kutusuna derleyici seçeneğini girin.

Bu derleyici seçeneğini program üzerinden ayarlamak için

Ayrıca bkz.

/vmb, /vmg (Gösterim yöntemi)
MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi