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?
#pragmaitu: mengaktifkan fitur khusus-kompiler. Meskipun #pragma onceini sangat didukung secara luas, itu tidak standar.
info cppatau lihat di sini ) mengatakan "itu tidak dikenali oleh semua preprosesor, jadi Anda tidak dapat mengandalkannya dalam program portabel.". Dan GNU cpp mengoptimalkan #ifndefidiom umum dan portabel sehingga seefisien itu #pragma once.
#ifndef HEADERFILE_Hdapat melanggar namespace implementasi dari nama header terjadi untuk memulai E; pengidentifikasi dimulai dengan Edan digit atau huruf besar disediakan untuk <errno.h>. Saya sarankan #ifndef H_HEADERFILE.