Используешь Telegram? Подпишись на канал автора →
открыть или

Конфликт имен и std namespace в C++

В этом уроке мы рассмотрим важную тему - конфликт имен в C++ и использование пространства имен std. Что такое конфликт имен? Конфликт имен возникает, когда в программе используются одинаковые имена для разных сущностей. Например: int x = 5; // глобальная переменная x int main() { int x = 10; // локальная переменная x cout << x; // какую x мы выводим? return 0; } В этом случае возникает неоднозначность - какую переменную x мы имеем в виду при выводе?
One minute to read

Урок №23. Header guards и

При работе с заголовочными файлами в C++ важно избегать проблем, связанных с многократным включением одного и того же файла. Для этого используются механизмы защиты заголовочных файлов: header guards и директива #pragma once. Header guards Header guards — это традиционный способ защиты от многократного включения, использующий директивы препроцессора: #ifndef SOME_UNIQUE_NAME_HERE #define SOME_UNIQUE_NAME_HERE // Содержимое заголовочного файла #endif Пример использования в файле math.h: #ifndef MATH_H #define MATH_H int add(int x, int y); int subtract(int x, int y); #endif #pragma once #pragma once — это нестандартная, но широко поддерживаемая директива, которая указывает компилятору включать файл только один раз:
2 minutes to read

Урок №22. Директивы препроцессора

Препроцессор — это компонент языка C++, который выполняет предварительную обработку исходного кода перед его компиляцией. Он обрабатывает директивы препроцессора, которые начинаются с символа #. Основные директивы препроцессора: #include Используется для включения содержимого другого файла в текущий файл. #include <iostream> #include "myheader.h" #define Используется для определения макросов или символических констант. #define PI 3.14159 #define MAX(a,b) ((a) > (b) ? (a) : (b)) #ifdef, #ifndef, #endif Используются для условной компиляции кода. #ifdef DEBUG std::cout << "Debug mode is on" << std::endl; #endif #ifndef MY_HEADER #define MY_HEADER // содержимое заголовочного файла #endif #if, #elif, #else Позволяют выполнять более сложные условные проверки.
One minute to read

Урок №21. Заголовочные файлы в C++

В этом уроке мы рассмотрим, что такое заголовочные файлы и как их использовать в программах на C++. Что такое заголовочный файл? Заголовочный файл (header file) - это файл с расширением .h или .hpp, который содержит объявления функций, классов, переменных и других элементов, которые могут быть использованы в нескольких файлах исходного кода. Зачем нужны заголовочные файлы? Заголовочные файлы позволяют: Разделять код на логические части Повторно использовать код в разных файлах Скрывать детали реализации Улучшать читаемость кода Как использовать заголовочные файлы Создайте файл с расширением .
One minute to read

Урок №20. Многофайловые программы

В этом уроке мы рассмотрим, как создавать многофайловые программы на C++. Такой подход позволяет лучше организовать код, повысить его читаемость и облегчить поддержку. Основные преимущества многофайловых программ: Улучшенная организация кода Возможность повторного использования кода Упрощение совместной работы над проектом Ускорение компиляции при внесении изменений Пример многофайловой программы main.cpp: #include <iostream> #include "add.h" int main() { std::cout << "The sum of 3 and 4 is: " << add(3, 4) << std::endl; return 0; } add.
2 minutes to read

Урок №19. Прототип функции и Предварительное объявление

В этом уроке мы рассмотрим важную концепцию C++ - прототипы функций и предварительные объявления. Прототип функции Прототип функции (также известный как объявление функции) - это заявление о существовании функции без её фактического определения. Он сообщает компилятору о возвращаемом типе функции, её имени и параметрах. int add(int x, int y); // прототип функции add Зачем нужны прототипы функций? Они позволяют использовать функцию до её фактического определения в коде. Они помогают компилятору проверять правильность вызовов функций.
2 minutes to read

Урок №18. Базовое форматирование кода в C++

Правильное форматирование кода очень важно для его читаемости и поддержки. В этом уроке мы рассмотрим основные правила форматирования кода на C++. Отступы Используйте отступы для обозначения блоков кода. Обычно используется 2 или 4 пробела (или один символ табуляции): int main() { int x = 5; if (x > 0) { cout << "x is positive"; } return 0; } Расстановка скобок В C++ есть два основных стиля расстановки фигурных скобок:
One minute to read

Урок №17. Операторы в C++

Операторы - это символы, которые говорят компилятору выполнить определенные математические или логические манипуляции. C++ имеет богатый набор операторов. Арифметические операторы Основные арифметические операторы:

  • (сложение) - (вычитание) * (умножение) / (деление) % (остаток от деления) int a = 10, b = 3; int sum = a + b; // 13 int difference = a - b; // 7 int product = a * b; // 30 int quotient = a / b; // 3 int remainder = a % b; // 1 Операторы присваивания Основной оператор присваивания - это =.
2 minutes to read

Урок №16. Ключевые слова и идентификаторы в C++

В этом уроке мы рассмотрим ключевые слова и идентификаторы в C++, которые являются важными элементами синтаксиса языка. Ключевые слова Ключевые слова (зарезервированные слова) - это предопределенные слова в C++, которые имеют специальное значение для компилятора. Их нельзя использовать в качестве идентификаторов в программе. Вот список ключевых слов в C++: alignas alignof and and_eq asm auto bitand bitor bool break case catch char char16_t char32_t class compl const constexpr continue decltype default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new noexcept not not_eq nullptr operator or or_eq private protected public register reinterpret_cast return short signed sizeof static static_assert static_cast struct switch template this thread_local throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while xor xor_eq Примечание: Некоторые компиляторы могут поддерживать дополнительные ключевые слова.
2 minutes to read

Урок №15. Локальная область видимости в C++

В этом уроке мы рассмотрим концепцию локальной области видимости в C++. Что такое локальная область видимости? Локальная область видимости относится к части программы, где переменная доступна для использования. Переменные, объявленные внутри функции или блока кода, имеют локальную область видимости. int main() { int x = 5; // x имеет локальную область видимости { // начало нового блока int y = 10; // y имеет локальную область видимости внутри этого блока x = y; // x доступен здесь } // конец блока // y здесь недоступен // x все еще доступен return 0; } Правила локальной области видимости Локальные переменные доступны только внутри блока, в котором они объявлены.
2 minutes to read