#ifdef
ve #ifndef
yönergeleri (C/C++)
#ifdef
ve #ifndef
önişlemci yönergeleri, işleciyle kullanıldığında yönergesiyle defined
aynı etkiye #if
sahiptir.
Sözdizimi
#ifdef
identifier
#ifndef
identifier
Bu yönergeler şunlara eşdeğerdir:
#if defined
identifier
#if !defined
identifier
Açıklamalar
ve #ifndef
yönergelerini #ifdef
her yerde #if
kullanabilirsiniz. #ifdef
identifier
deyimi, tanımlandığı zaman identifier
ile #if 1
eşdeğerdir. Tanımlanmamış veya yönergesi tarafından #undef
tanımlanmamış olan ile identifier
eşdeğerdir#if 0
. Bu yönergeler, C veya C++ kaynak kodunda bildirilen tanımlayıcılar için değil, yalnızca ile #define
tanımlanan tanımlayıcıların varlığını veya yokluğunu denetler.
Bu yönergeler yalnızca dilin önceki sürümleriyle uyumluluk için sağlanır. defined(
)
identifier
yönergesiyle #if
kullanılan sabit ifade tercih edilir.
yönergesi #ifndef
tarafından #ifdef
denetlenen koşulun tersini denetler. Tanımlayıcı tanımlanmamışsa veya tanımı ile #undef
kaldırılmışsa koşul true (sıfır olmayan) olur. Aksi takdirde koşul false (0) şeklindedir.
Microsoft'a Özgü
Tanımlayıcı, seçeneği kullanılarak komut satırından /D
geçirilebilir. ile /D
en fazla 30 makro belirtilebilir.
Yönergesi #ifdef
, bir tanımın var olup olmadığını denetlemek için kullanışlıdır çünkü komut satırından bir tanım geçirilebilir. Örneğin:
// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif
END Microsoft'a Özgü
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin