Почему я не получаю желаемый результат 2.50000…?

Заголовочные файлы обычно содержат объявления функций / классов, а файлы .cpp содержат фактические реализации. Во время компиляции каждый .cpp-файл скомпилируется в объектный файл (обычно расширение .o), а компоновщик объединяет различные объектные файлы в конечный исполняемый файл. Процесс связывания, как правило, намного быстрее, чем компиляция.

Преимущества этого разделения: если вы перекомпилируете один из .cpp-файлов в своем проекте, вам не нужно перекомпилировать все остальные. Вы просто создаете новый объектный файл для этого конкретного .cpp-файла. Компилятор не должен смотреть на другие .cpp-файлы. Однако, если вы хотите вызывать функции в вашем текущем файле .cpp, которые были реализованы в других .cpp-файлах, вы должны сообщить компилятору, какие аргументы они берут; это цель включения файлов заголовков.

Недостатки: при компиляции заданного .cpp-файла компилятор не может «видеть» то, что находится внутри других .cpp-файлов. Таким образом, он не знает, как реализованы функции, и в результате не может быть оптимизирован так агрессивно. Но я думаю, что вам не нужно беспокоиться об этом, пока что (:

-10
задан APerson 8 November 2017 в 13:09
поделиться