2009-08-11 3 views

ответ

21

#pragma только префикс для функции компилятора специфичны.

В этом случае #pragma once означает, что этот заголовочный файл будет включаться только один раз в конкретный файл назначения. Он устраняет необходимость в include guards.

+1

etherything прав, кроме предупреждения о том, что #pragmas являются расширениями компилятора, они не входят в стандарт. Тебе лучше их избежать. – f0b0s

+1

не то, что он сказал? Спецификация компилятора == Нестандартное расширение компилятора – jalf

+0

@John - Итак, где я могу получить список специальных возможностей компилятора, которые я могу использовать? Эти изменения зависят от GCC и Intel CC. Я уверен, так какой лучший сейф для переносного кода? – user147502

5
  • Что - это заголовок. Этот файл будет включен только один раз.
  • Когда - при компиляции
  • Почему - во избежание двойного включения.

"Защитные устройства для заголовков - это небольшие фрагменты кода, которые защищают содержимое файла заголовка от включения более одного раза".

Смежные вопросы