Найти в Дзене
Основы С++

Основы С++

Знакомство с С++
подборка · 16 материалов
159 читали · 2 года назад
Основы С++: Способы защиты заголовочных файлов
В статье "Предварительное объявление функций и изменение порядка их определения" мы рассмотрели правило одного определения (ODR), которое гласит что каждая переменная или функция может иметь только одно определение. Повторная идентификация функции, закономерно, приведет к ошибке компиляции. Такую ошибку легко исправить, если... Если она не вызвана определением через #include, то есть через заголовочные файлы. В случае с заголовочными файлами, можно легко попасть в ситуацию, когда внутри заголовка, который вы решили использовать, включен еще один заголовок...
560 читали · 2 года назад
Основы С++: Знакомство с заголовочными файлами, создание пользовательских заголовков и повторение пройденного материала
В большинстве больших проектов (программ) возникает множество ситуаций, когда программисту требуется делать большое количество предварительных объявлений функций и переменных. Часто функции определены в других файлах. Постоянно предварительно объявлять их становится утомительно. К тому же это может повлечь за собой множество ошибок в процессе написания кода. Процесс предварительного объявления упрощается с помощью использования заголовочных файлов, именно в них помещаются все предварительные объявления...
1056 читали · 2 года назад
Основы С++: Директивы препроцессора и знакомство с макросами
Для того, чтобы ваш код превратился посредством компиляции в рабочую программу, он должен пройти несколько важных преобразований. Они называются этапами трансляции. Подробнее о трансляции можно почитать в официальной документации вот здесь. В одну из фаз трансляции в работу включается препроцессор. Когда начинается его работа, он просматривает файл кода в поисках директив, оставленных программистом для него. После чего, препроцессор исполняет все директивы. В каждой программе с вводом и выводом...
242 читали · 2 года назад
Основы С++: Знакомство с пространствами имен. Как и почему возникают конфликты имен?
В С++ к именам выставляются определенные требования. Среди них мы обнаруживаем такое, как однозначность. Что это значит? Рассмотрим на простом примере: Представьте, что вы приехали в новый для вас город по своим делам. Вам нужно попасть по адресу: улица Яблоневая, дом 32. Вы вбиваете адрес в приложение такси, вызываете машину. Вас привозят по адресу. И вдруг оказывается, что по этому адресу вы не можете решить свои дела. Потому что в этом городе две Яблоневых улицы. Вы возмущены! Вам кажется это сюрреалистичным? И этого действительно не произойдет в реальности...
502 читали · 2 года назад
Основы С++: Первый пример программы с несколькими файлами исходного кода
В прошлой статье, рассматривая правило ODR, мы впервые упомянули возможность создания нескольких файлов в исходном коде для написания одной программы. Это действительно практикует повсеместно. Программы усложняются и программисты для организации кода используют различное количество файлов с ним, которые потом компилируются в одну целостную программу. В этой статье мы создадим еще один файл с исходным кодом. Я буду пользоваться IDE Visual Studio от Microsoft, а вы, если используете другую IDE, найдите в интернете способ создать в ней дополнительный файл в вашем тестовом проекте...
210 читали · 2 года назад
Основы С++: Предварительное объявление функций и изменение порядка их определения
Зачастую в программах требуется рассказать компилятору о функции заранее, не объявляя ее. Возьмем эту простую программу, как пример: Когда вы напишите эту программу у себя. Вероятно, ваш редактор кода так же как и мой, не подчеркнет ошибку ни в одной из строк. Однако, стоит вам попробовать скомпилировать программу, как вы получите следующее: Когда компилятор достиг строки 4. Он просто не смог найти идентификатор (функции) diffrerence. Да, скажете вы, странно, ведь ниже в строке 6 мы определили его? Но все дело в том, что компилируется программа построчно...