/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 199711L
değ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çenek |
/std seçenek |
__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_LANG
sahiptir.
Visual Studio'da bu derleyici seçeneğini ayarlamak için
Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.
Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.
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