c++ что такое #include (include с++)


это "прямая вставка" заголовочных файлов.


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

Работа разрешения этих ссылок - это как раз работа линковщика
, поэтому, если у вас в проекте не подключена библиотека (в свойствах проекта), а вы пользуетесь заголовочным файлом, то получите ошибку линковки, хотя компилятор спокойно сделает свою работу и создаст объектный файл.

http://otvet.mail.ru/question/46427038/

baton's picture

)))))))))))
чудесно)
но, может вынести подобные темы в отдельную тему или даже раздел форума? а то будет не очень удобно первокурснику с хвостами по с++ разыскивать АЗЫ среди продвинутых статей.

vedro-compota's picture

есть два пути решения подобных проблем ,оба из которых можно развивать на разном уровнеи разными средствами - но в любом случае одновременно:

  • 1) это подшивка подобных статей в книги
  • 2) усовершенствование системы поиска(в том числе с использованием возможностей публичных поисковых систем)

первый вариант как раз и подразумевает создание чего-то вроде книги, из которой иерархически ссылки указывают на отдельные страницы с уроками/определениями и/или примерами.

Первый вариант всегда вполне зависит и от вас, товарищ baton.
Так для Си++ основная тема уже определена но там пока что отсутствует базовый раздел.

А потому - если вы только начали изучать си++ - вы вполне можете его дописать.

Причём следует писать не столько после решения задачи (подобное имеет отношение скорее к чему-то новому - прежде не опубликованному ни в какой форме) сколько во время поиска решения - то есть писать те вопросы которые возникают и потом сразу же записывать ответы.

_____________
матфак вгу и остальная классика =)