Junior
19
0
questionbank

Почему мы не пишем код в заголовочном файле?

Ответ от нейросети sobes.tech

Код в заголовочных файлах (.h или .hpp в C++) не размещают по следующим причинам:

  1. Нарушение принципа одного определения (One Definition Rule - ODR). При включении заголовочного файла несколькими .cpp файлами, содержащийся в нем исполняемый код будет определен более одного раза, что приведет к ошибке линковки (multiple definition). Исключение – inline функции и шаблоны классов/функций, которые должны быть определены в каждом модуле трансляции, где они используются.

    cpp
  2. Увеличение времени компиляции. При каждом включении заголовочного файла, компилятор заново обрабатывает его содержимое. Размещение кода в заг

Код в заголовочных файлах (.h или .hpp в C++) не размещают по следующим причинам:

  1. Нарушение принципа одного определения (One Definition Rule - ODR). При включении заголовочного файла несколькими .cpp файлами, содержащийся в нем исполняемый код будет определен более одного раза, что приведет к ошибке линковки (multiple definition). Исключение – inline функции и шаблоны классов/функций, которые должны быть определены в каждом модуле трансляции, где они используются.

    cpp
  2. Увеличение времени компиляции. При каждом включении заголовочного файла, компилятор заново обрабатывает его содержимое. Размещение кода в заг

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

header-filesforward-declarationinclude-guardscompilation-speedlinkingone-definition-rule