Junior
24
0
questionbank

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

Answer from sobes.tech neural network

Код в заголовочных файлах (.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. Увеличение времени компиляции. При каждом включении заголовочного файла, компилятор заново обрабатывает его содержимое. Размещение кода в заг

Register or sign in to get access to full answers for all questions from the question bank.

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