Genellikle başlık dosyalarının başlangıcında böyle bir kod görüyorum:
#ifndef HEADERFILE_H
#define HEADERFILE_H
Ve dosyanın sonunda
#endif
Bunun amacı ne?
#pragma: derleyiciye özgü bir özelliği etkinleştirir. Her ne kadar #pragma onceolduğu çok yaygın olarak desteklenen, bu standart dışı bu.
info cppveya buraya bakın ) "tüm ön işlemciler tarafından tanınmıyor, bu nedenle taşınabilir bir programda ona güvenemezsiniz" diyor. Ve GNU cpp, ortak ve taşınabilir #ifndefdeyimi optimize eder, böylece aynı derecede verimlidir #pragma once.
#ifndef HEADERFILE_Hbaşlığın adı ile başlayan uygulamanın ad alanını ihlal edebilir E; ile başlayan tanımlayıcılar Eve bir rakam veya büyük harf ayrılır <errno.h>. Ben öneririm #ifndef H_HEADERFILE.