Приложения

Глава 11. Приложения #

11.1 Справочник операторов #

Арифметические операторы #

ОператорОписаниеПример
+Сложениеint sum = a + b;
-Вычитаниеint diff = a - b;
*Умножениеint product = a * b;
/Делениеdouble quotient = a / b;
%Остаток от деления (для целых чисел)int remainder = 10 % 3;

Операторы сравнения #

ОператорОписаниеПример
==Равенствоbool isEqual = (a == b);
!=Неравенствоbool isNotEqual = (a != b);
<Меньшеbool less = (a < b);
>Большеbool greater = (a > b);
<=Меньше или равноbool lessOrEqual = (a <= b);
>=Больше или равноbool greaterOrEqual = (a >= b);

Логические операторы #

ОператорОписаниеПример
&&Логическое Иbool result = (x > 0 && y < 10);
``
!Логическое НЕbool negation = !condition;

Битовые операторы #

ОператорОписаниеПример
&Битовое Иint bitAnd = a & b;
``Битовое ИЛИ
^Битовое исключающее ИЛИint bitXor = a ^ b;
~Побитовое отрицаниеint bitNot = ~a;
<<Левый сдвигint leftShift = a << 2;
>>Правый сдвигint rightShift = a >> 2;

Операторы присваивания #

ОператорОписаниеПример
=Простое присваиваниеx = 10;
+=Присваивание с сложениемx += 5; // эквивалентно x = x + 5
-=Присваивание с вычитаниемx -= 3;
*=Присваивание с умножениемx *= 2;
/=Присваивание с делениемx /= 4;
%=Присваивание остаткаx %= 3;

11.2 Таблица типов данных #

Целочисленные типы #

ТипРазмерДиапазон значенийМодификаторы
char1 байт-128 до 127signed, unsigned
short2 байта-32,768 до 32,767signed, unsigned
int4 байта-2,147,483,648 до 2,147,483,647signed, unsigned, short, long, long long
long4-8 байтЗависит от платформыsigned, unsigned
long long8 байт-9,223,372,036,854,775,808 до 9,223,372,036,854,775,807signed, unsigned

Типы с плавающей точкой #

ТипРазмерТочностьДиапазон
float4 байта~7 знаков±1.2 × 10^-38 до ±3.4 × 10^38
double8 байт~16 знаков±2.2 × 10^-308 до ±1.8 × 10^308
long double8-16 байт>16 знаковЗависит от реализации

Другие базовые типы #

ТипОписание
boolЛогический тип (true/false)
voidТип отсутствия значения
wchar_tРасширенный символьный тип
autoАвтоматический вывод типа (C++11)
nullptr_tТип указателя null

11.3 Ключевые слова языка C++ #

Управление памятью и объектами #

  • new - выделение динамической памяти
  • delete - освобождение динамической памяти
  • sizeof - получение размера типа
  • typeid - получение информации о типе

Управление потоком выполнения #

  • if, else - условные конструкции
  • switch, case, default - множественный выбор
  • for, while, do-while - циклы
  • break, continue - управление циклами
  • return - возврат из функции
  • goto - переход (не рекомендуется)

Классы и объектно-ориентированное программирование #

  • class - объявление класса
  • struct - структура
  • public, private, protected - спецификаторы доступа
  • virtual - виртуальные функции
  • friend - дружественные функции
  • this - указатель на текущий объект

Наследование и полиморфизм #

  • inherit - наследование
  • override - переопределение
  • final - запрет наследования
  • abstract - абстрактный класс

Другие важные ключевые слова #

  • const - константность
  • static - статические члены
  • extern - внешняя компоновка
  • inline - встраиваемая функция
  • namespace - пространство имен
  • template - шаблоны
  • using - импорт пространств имен

11.4 Рекомендуемая литература #

Фундаментальные книги по C++ #

  1. “C++ Primer” - Стенли Б. Лippман, Жозе Лажойе

    • Классический учебник для начинающих и средний разработчиков
    • Подробное изложение основ языка
  2. “Эффективный C++” - Скотт Мейерс

    • 55 рекомендаций по улучшению вашего C++ кода
    • Практические советы от известного эксперта
  3. “Совершенный C++” - Геннадий Фёдоров

    • Современный взгляд на C++
    • Разбор сложных концепций языка

Продвинутый уровень #

  1. “Экспертное программирование на C++” - Марк Грегор
  2. “Шаблоны C++. Справочник разработчика” - Дэвид Вандервуд
  3. “Многопоточность в C++” - Энтони Уильямс

11.5 Полезные ресурсы для изучения #

Официальная документация #

Онлайн-курсы #

  1. Coursera
    • “C++ For C Programmers” (UC Santa Cruz)
  2. Udacity
    • “C++ Nanodegree”
  3. edX
    • Курсы от Microsoft и других крупных университетов

Сообщества и форумы #

  • Stack Overflow - Вопросы и ответы
  • Reddit r/cpp - Новости и обсуждения
  • CppRu - Русскоязычное сообщество

Инструменты и среды разработки #

  • Visual Studio
  • CLion
  • Code::Blocks
  • Eclipse CDT

Каналы и блоги #

  • YouTube-каналы о C++
  • Блоги известных разработчиков
  • Подкасты о программировании

Заключение #

Этот справочник – лишь начало вашего пути в изучении C++. Продолжайте практиковаться, читайте код других разработчиков и никогда не останавливайтесь в своем развитии!