Bagikan melalui


#ifdef dan #ifndef direktif (C/C++)

Direktif #ifdef praproscesor dan #ifndef memiliki efek yang sama dengan #if direktif ketika digunakan dengan defined operator.

Sintaks

#ifdef identifier
#ifndef identifier

Arahan ini setara dengan:

#if defined identifier
#if !defined identifier

Keterangan

Anda dapat menggunakan arahan dan #ifndef di #ifdef mana saja #if dapat digunakan. Pernyataan #ifdef identifier ini setara dengan #if 1 kapan identifier telah ditentukan. Ini setara dengan #if 0 kapan identifier belum ditentukan, atau belum ditentukan oleh direktif #undef . Arahan ini hanya memeriksa keberadaan atau tidak adanya pengidentifikasi yang ditentukan dengan #define, bukan untuk pengidentifikasi yang dinyatakan dalam kode sumber C atau C++.

Arahan ini disediakan hanya untuk kompatibilitas dengan versi bahasa sebelumnya. Ekspresi defined( identifier ) konstanta yang digunakan dengan direktif #if lebih disukai.

Direktif #ifndef memeriksa kebalikan dari kondisi yang diperiksa oleh #ifdef. Jika pengidentifikasi belum ditentukan, atau jika definisinya telah dihapus dengan #undef, kondisinya benar (bukan nol). Jika tidak, kondisinya salah (0).

Khusus Microsoft

Pengidentifikasi dapat diteruskan dari baris perintah menggunakan /D opsi . Hingga 30 makro dapat ditentukan dengan /D.

Direktif #ifdef berguna untuk memeriksa apakah definisi ada, karena definisi dapat diteruskan dari baris perintah. Contohnya:

// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif

END Khusus Microsoft

Lihat juga

Arahan pra-prosesor