Saya telah melihat kode seperti ini biasanya di awal file header:
#ifndef HEADERFILE_H
#define HEADERFILE_H
Dan pada akhir file tersebut
#endif
Apa tujuan dari ini?
#pragma
itu: mengaktifkan fitur khusus-kompiler. Meskipun #pragma once
ini sangat didukung secara luas, itu tidak standar.
info cpp
atau lihat di sini ) mengatakan "itu tidak dikenali oleh semua preprosesor, jadi Anda tidak dapat mengandalkannya dalam program portabel.". Dan GNU cpp mengoptimalkan #ifndef
idiom umum dan portabel sehingga seefisien itu #pragma once
.
#ifndef HEADERFILE_H
dapat melanggar namespace implementasi dari nama header terjadi untuk memulai E
; pengidentifikasi dimulai dengan E
dan digit atau huruf besar disediakan untuk <errno.h>
. Saya sarankan #ifndef H_HEADERFILE
.