Пространства имён
Варианты
Действия

C++ language

Материал из cppreference.com
< cpp

 
 
Язык С++
Общие темы
Управление программой
Операторы условного выполнения
Операторы повторения
Операторы перехода
Функции
объявление функции
объявление лямбда-функции
шаблон функции
спецификатор inline
спецификаторы исключений (устарело)
спецификатор noexcept (C++11)
Исключения
Пространства имён
объявление пространства имён
псевдонимы пространства имён
Типы
спецификатор decltype (C++11)
Спецификаторы
cv-спецификаторы
спецификаторы продолжительности хранения
спецификатор constexpr (C++11)
спецификатор auto (C++11)
спецификатор alignas (C++11)
Инициализация
Литералы
Выражения
Утилиты
Типы
typedef-объявление
объявление псевдонима типа (C++11)
атрибуты (C++11)
Приведения типов
неявные преобразования
const_cast-преобразование
static_cast-преобразование
dynamic_cast-преобразование
reinterpret_cast-преобразование
C-подобное и функциональное приведение типов
Выделение памяти
Классы
Особые свойства классовых функций
Специальные функции-члены
Шаблоны
шаблон класса
шаблон функции
специализация шаблона
упакованные параметры (C++11)
Разное
Ассемблерные вставки
 

Это краткий список языковых конструкций, доступных в C++.

Содержание

[править] Общие темы

[править] Препроцессор

[править] Комментарии

[править] Ключевые слова

[править] Таблица ASCII

[править] Управляющие последовательности

[править] История C++

[править] Управление выполнением

[править] Инструкции условного выполнения

Условные инструкции выполняют различные пути кода в соответствии со значением данного выражения.

  • if выполняет код условно
    Original:
    if executes code conditionally
    The text has been machine-translated via Google Translate.
    You can help to correct and verify the translation. Click here for instructions.
  • switch выполняет код в соответствии со значением целочисленного аргумента

[править] Инструкции циклов

Инструкции циклов выполняют путь кода несколько раз.

  • for выполняет циклы с указанием инициализации, сравнения и приращения
  • range-for выполняет циклы по диапазону (начиная с C++11)}
  • while выполняет цикл, проверяя условие перед каждой итерацией
  • do-while выполняет цикл, проверяя условие после каждой итерации

[править] Инструкции перехода

Инструкции перехода продолжают выполнение программы с другого места.

  • continue пропускает оставшуюся часть тела содержащего цикла
  • break завершает содержащий цикл
  • goto продолжает выполнение с другого места
  • return завершает выполнение содержащей функции

[править] Функции

Один и тот же код может быть повторно использован в различных местах в программе.

[править] Исключения

Исключения представяют собой способ передачи сигналов об ошибочных состояниях, более надежный, чем коды возврата функций или глобальные переменные ошибок.

[править] Пространства имён

Пространства имён дают возможность предотвратить конфликты имён в больших проектах.

[править] Типы

  • фундаментальные типы определяют базовые типы символов, целых чисел и чисел с плавающей точкой
  • типы указателей оопределяют типы, указывающие на местоположения в памяти
  • составные типы определяют типы, содержащие несколько полей-членов (по сути, то же самое, что и класс)
  • типы перечислений которые могут хранить только одно из указанных значений
  • типы объединений определяют типы, которые могут хранить данные в нескольких представлениях
  • типы функций определяют подписи вызовов функций, то есть типы аргументов и возвращаемого значения
  • спецификатор decltype определяет тип, эквивалентный типу выражения (начиная с C++11)

[править] Спецификаторы

[править] Инициализация

Всякий раз, когда объявляется переменная, имеющая имя, и когда создаётся временный объект, изначальное значение нового объекта предоставляется одним из следующих способов:

[править] Литералы

Литералы – это лексемы программы на C++, обозначающие константные значения, встроенные в исходный код.

[править] Выражения

Выражение – это последовательность операторов и операндов, задающая вычисление. Выражение может иметь своим результатом значение и может вызывать побочные эффекты.

  • категории значений (lvalue, rvalue, glvalue, prvalue, xvalue) классифицируют выражения по их значениям
  • порядок вычисления аргументов и подвыражений задаёт порядок, в котором определяются промежуточные результаты
  • операторы позволяют использовать синтаксис, часто встречающийся в математике
Common operators
назначение incrementNJdecrement арифметики логичной сравнение memberNJaccess другие

a = b
a = rvalue
a += b
a -= b
a *= b
a /= b
a %= b
a &= b
a |= b
a ^= b
a <<= b
a >>= b

++a
--a
a++
a--

+a
-a
a + b
a - b
a * b
a / b
a % b
~a
a & b
a | b
a ^ b
a << b
a >> b

!a
a && b
a || b

a == b
a != b
a < b
a > b
a <= b
a >= b

a[b]
*a
&a
a->b
a.b
a->*b
a.*b

a(...)
a, b
(type) a
? :

Special operators
static_cast преобразует один тип на другой совместимый
типа
Original:
static_cast converts one type to another compatible type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
dynamic_cast преобразует виртуальный базовый класс для производных class
Original:
dynamic_cast converts virtual base class to derived class
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
const_cast преобразует тип совместимого типа с различными cv qualifiers
Original:
const_cast converts type to compatible type with different cv qualifiers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
reinterpret_cast преобразует тип несовместимы type
Original:
reinterpret_cast converts type to incompatible type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
new выделяет memory
Original:
new allocates memory
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
delete освобождает memory
Original:
delete deallocates memory
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sizeof запрашивает размер type
Original:
sizeof queries the size of a type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sizeof... запрашивает размер Параметр пакета (начиная с C++11)
Original:
sizeof... queries the size of a Параметр пакета (начиная с C++11)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
typeid запрашивает сведения о типе type
Original:
typeid queries the type information of a type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
noexcept проверяет выражение может вызвать исключение (начиная с C++11)
Original:
noexcept checks if an expression can throw an exception (начиная с C++11)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
alignof запросов выравнивание требований типа (начиная с C++11)
Original:
alignof queries alignment requirements of a type (начиная с C++11)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Utilities

, Типы
Original:
; Types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
, Отливок
Original:
; Casts
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
, Распределение памяти
Original:
; Memory allocation
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Классы

Классы обеспечивают концепция объектно-ориентированного программирования на C + +.
Original:
Classes provide the concept of object-oriented programming in C++.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Класс специфических свойств функции

[править] Специальные функции члена

[править] Шаблоны сайтов

Позволяет функций и классов для работы на универсальных типов
Original:
Allows functions and classes to operate on generic types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Оптимизации

[править] Разное