/Zc:__cplusplus (Güncelleştirilmiş makro etkinleştir __cplusplus )

Derleyici /Zc:__cplusplus seçeneği, ön işlemci makrosunun __cplusplus son C++ dil standartları desteği için güncelleştirilmiş bir değer bildirmesini sağlar. Varsayılan olarak, Visual Studio her zaman ön işlemci makrosunun __cplusplus değerini 199711L döndürür.

Sözdizimi

/Zc:__cplusplus[-]

Açıklamalar

__cplusplus Önişlemci makro, C++ standardının belirli bir sürümü için destek bildirmek için yaygın olarak kullanılır. Mevcut kodun büyük bir kısmı bu makro eşleştirmesinin 199711Ldeğerine bağlı gibi göründüğünden, derleyici seçeneğini açıkça kabul etmediğiniz sürece makronun /Zc:__cplusplus değerini değiştirmez. Bu /Zc:__cplusplus seçenek Visual Studio 2017 sürüm 15.7'den itibaren kullanılabilir ve varsayılan olarak kapalıdır. Visual Studio'nun önceki sürümlerinde ve varsayılan olarak veya belirtilirse/Zc:__cplusplus-, Visual Studio ön işlemci makrosunun __cplusplus değerini 199711L döndürür. /permissive- seçeneği etkinleştirilmez/Zc:__cplusplus.

/Zc:__cplusplus Seçenek etkinleştirildiğinde, makro tarafından __cplusplus bildirilen değer sürüm seçeneği ayarına /std bağlıdır. Bu tabloda makro için olası değerler gösterilir:

/Zc:__cplusplus Seçeneği /std Seçeneği __cplusplus Değer
Zc:__cplusplus /std:c++14 (varsayılan) 201402L
Zc:__cplusplus /std:c++17 201703L
Zc:__cplusplus /std:c++20 202002L
Zc:__cplusplus /std:c++latest metne bakın
Zc:__cplusplus- (devre dışı) Tüm değerler 199711L
Belirtilmemiş Tüm değerler 199711L

Derleyici C++98, C++03 veya C++11 için standart seçeneklerini desteklemez. Bu /std:c++20 seçenek Visual Studio 2019 sürüm 16.11'den itibaren kullanılabilir. seçeneğiyle değeri __cplusplus/std:c++latest Visual Studio sürümüne bağlıdır. Her zaman Visual Studio sürümünüz tarafından desteklenen en yüksek desteklenen __cplusplus standart değerden en az bir daha yüksektir.

Derleyici araç takımındaki değişikliklerin daha ayrıntılı algılanması için önceden tanımlanmış makroyu _MSC_VER kullanın. Visual Studio 2017 ve sonraki sürümlerdeki her araç takımı güncelleştirmesi için bu yerleşik makronun değeri artırılır. Önceden _MSVC_LANG tanımlanmış makro, seçeneğin etkinleştirilip etkinleştirilmediğini /Zc:__cplusplus veya devre dışı bırakıldığını standart sürümü bildirir. Etkinleştirildiğinde /Zc:__cplusplus , __cplusplus ile aynı değere _MSVC_LANGsahiptir.

Visual Studio'da bu derleyici seçeneğini 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: bölmesine veya /Zc:__cplusplus- ekleyin/Zc:__cplusplus.

Ayrıca bkz.

/Zc (Uyumluluk)
/std (Dil standart sürümünü belirtin)
Önceden tanımlanmış makrolar