Глава 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 Таблица типов данных
#
Целочисленные типы
#
| Тип | Размер | Диапазон значений | Модификаторы |
|---|
char | 1 байт | -128 до 127 | signed, unsigned |
short | 2 байта | -32,768 до 32,767 | signed, unsigned |
int | 4 байта | -2,147,483,648 до 2,147,483,647 | signed, unsigned, short, long, long long |
long | 4-8 байт | Зависит от платформы | signed, unsigned |
long long | 8 байт | -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 | signed, unsigned |
Типы с плавающей точкой
#
| Тип | Размер | Точность | Диапазон |
|---|
float | 4 байта | ~7 знаков | ±1.2 × 10^-38 до ±3.4 × 10^38 |
double | 8 байт | ~16 знаков | ±2.2 × 10^-308 до ±1.8 × 10^308 |
long double | 8-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++
#
“C++ Primer” - Стенли Б. Лippман, Жозе Лажойе
- Классический учебник для начинающих и средний разработчиков
- Подробное изложение основ языка
“Эффективный C++” - Скотт Мейерс
- 55 рекомендаций по улучшению вашего C++ кода
- Практические советы от известного эксперта
“Совершенный C++” - Геннадий Фёдоров
- Современный взгляд на C++
- Разбор сложных концепций языка
Продвинутый уровень
#
- “Экспертное программирование на C++” - Марк Грегор
- “Шаблоны C++. Справочник разработчика” - Дэвид Вандервуд
- “Многопоточность в C++” - Энтони Уильямс
11.5 Полезные ресурсы для изучения
#
Официальная документация
#
Онлайн-курсы
#
- Coursera
- “C++ For C Programmers” (UC Santa Cruz)
- Udacity
- edX
- Курсы от Microsoft и других крупных университетов
Сообщества и форумы
#
Инструменты и среды разработки
#
- Visual Studio
- CLion
- Code::Blocks
- Eclipse CDT
Каналы и блоги
#
- YouTube-каналы о C++
- Блоги известных разработчиков
- Подкасты о программировании
Заключение
#
Этот справочник – лишь начало вашего пути в изучении C++. Продолжайте практиковаться, читайте код других разработчиков и никогда не останавливайтесь в своем развитии!