AP
Size: a a a
AP
AP
A
TL
#pragma once
&#ifndef FILENAME_H
#define FINENAME_H
#endif
AP
AP
#pragma once
&#ifndef FILENAME_H
#define FINENAME_H
#endif
TL
AP
KS
#pragma once
&#ifndef FILENAME_H
#define FINENAME_H
#endif
A
KS
KS
JC
JC
TL
JC
TL
#pragma once
вместо include guard
увеличит скорость компиляции во многих случаях благодаря высокоуровневому механизму; компилятор может самостоятельно сравнивать имена файлов или inode'ы без необходимости вызова препроцессора Си для проверки заголовка на наличие #ifndef
и #endif
.#pragma once
, программисту нет необходимости создавать новые имена, например, GRANDFATHER_H
. Это исключает риск коллизии имён, то есть заголовочный файл не сможет вызвать ошибку при его подключении. Также приходится меньше набирать текста, нежели при использовании include guard.KS