Указатели на функции и их применение
Введение Указатели могут указывать не только на данные, но и на функции — в этой статье разберём указатели на функции, их синтаксис (один из наиболее визуально сложных в…
Введение Указатели могут указывать не только на данные, но и на функции — в этой статье разберём указатели на функции, их синтаксис (один из наиболее визуально сложных в…
Введение Ранее мы упоминали «автоматическое» время жизни локальных переменных и динамическую память — в этой статье соберём эти концепции в единую картину, явно разобрав два основных региона памяти,…
Введение До этой статьи все примеры использовали переменные с автоматическим временем жизни, размер и количество которых известны на этапе компиляции — динамическая память позволяет выделять память во время…
Введение Перечисления дают именованные, осмысленные альтернативы «магическим числам» — в этой статье разберём enum в его классическом, С-совместимом виде, и более современный, безопасный enum class C++11, устраняющий ряд…
Введение Ранее мы разобрали struct, где все поля существуют одновременно, занимая суммарный объём памяти — union представляет принципиально иной подход, где все поля совместно используют ОДНУ И ТУ…
Введение После базового синтаксиса (блок 1) переходим к организации данных — struct объединяет несколько связанных значений разных типов в единую сущность, и в этой статье разберём объявление структур,…
Введение Завершаем первый блок цикла темой строк — в чистом C (и в C++ коде, взаимодействующем с C-API или унаследованным кодом) строки представлены не отдельным типом данных, а…
Введение Уже неоднократно использовали указатели — настало время разобрать их системно, как одну из самых фундаментальных и одновременно потенциально опасных концепций C/C++: что представляет собой указатель, как работает…
Введение Ранее рассматривали передачу одиночных значений в функции — массивы добавляют новое измерение, представляя последовательность однотипных элементов, тесно связанную с указателями на низком уровне реализации в C/C++. Концепция…
Введение Мы уже рассматривали разделение объявления и определения функции на примере square() — в этой статье разберём функции подробнее, фокусируясь на ключевом практическом вопросе: три способа передачи параметров…