====== Основной инструментарий программиста ====== Все в нашем мире состоит из простейших элементов. Живые организмы состоят из клеток, различные материалы - из молекул, а те, в свою очередь, из атомов. Дома - из кирпичей и бетона, досок и гвоздей. Любой процесс можно разложить на какие-либо элементарные составляющие, и т. д. и т. п. Так же и программу - какой бы язык не был выбран, какая бы парадигма не была использована при разработке, каким бы способом не записывался бы исходный текст, он в любом случае будет состоять из тех или иных элементарных, более не делимых составляющих. В случае C++ наиболее крупной единицей, с которой имеет дело компилятор языке − это исходный файл, содержащий текст программы на языке С++. Обычно (и в подавляющем большинстве случае) это обычный текстовый файл, имеющий расширение .cpp, или .cc, или .cxx (в разных системах и средах программирования на C++ существуют разные соглашения на этот счет). В реальности при компиляции одного файла с исходном текстом, в самом процессе его компиляции может участвовать множество файлов. Достигается такой эффект за счет использования описанной в [[firstprog|предыдущей главе]] директивы #include. При этом компилятор воспринимает все это множество файлов так, как будто бы это один большой текстовый файл, состоящий из содержимого всех "включенных" в него других файлов. И называется такой виртуальный текстовый файл "**единицей трансляции**". Основное (и единственное) содержимое любой единицы трансляции − это набор объявлений и определений, вместе составляющий правильный текст на C++. И, наконец, некоторые виды определений (определения функций, например) содержат последовательности **выражений** и **операторов**, непосредственно транслируемых в машинные инструкции. Собственно, объявления, определения, выражения и операторы − это своего рода "строительные кирпичи" программ на большинстве императивных языков программирования. Это то, что составляет основной инструментарий программиста. Это то, что необходимо освоить в первую очередь. И именно этой теме будет посвящено следующие несколько глав.