Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Классификация операций

Читайте также:
  1. I. КЛАССИФИКАЦИЯ ПРЫЖКОВ С ПАРАШЮТОМ.
  2. I. КЛАССИФИКАЦИЯ ЭКОЛОГИЧЕСКИХ ФАКТОРОВ
  3. II. Классификация издержек в зависимости от объемов производства.
  4. II. Классификация клеток передних рогов
  5. II. КЛАССИФИКАЦИЯ НА ОСНОВАНИИ ФОРМЫ УПОТРЕБЛЕНИЯ
  6. III классификация и маркировка цветных сплавов.
  7. III. КЛАССИФИКАЦИЯ ОТКАЗОВ ПАРАШЮТОВ, ДЕЙСТВИЯ ПАРАШЮТИСТА ПРИ ИХ ВОЗНИКНОВЕНИИ.

Операции в С++ классифицируют по числу участвующих в них операндов или по типу действия, которое они выполняют.

При классификации по числу участвующих в них операндов операции подразделяют на:

первичные:

· () – операция, определяющая порядок выполнения операций, ограничивающая список аргументов от имени функции в вызове функции, использующаяся при образовании составных объектов;

· [] – операцияиндексации – используется как при определении массивов, так и для обращения к определенным элементам массива; первичное выражение в этой операции – имя массива, которое является адресом первого элемента массива;

·. – операция доступа к элементу структуры по имени;

· à – операциядоступа к элементу структуры по указателю.

 

На основе первичных операций строятся первичные выражения; в общем случае первичное выражение является исходным элементом любого выражения;

к первичному выражению относятся:

o константа (целая, вещественная, символьная, строковая, перечислимая);

o имя (имя переменной, имя_функции_операции – вводится в связи с перегрузкой операций, имя_функции_приведения – как компонента класса, ~имя_класса (обращение к деструктору));

o (выражение) – произвольное выражение, заключенное в скобки; например, обращение к функции или имя составного объекта (int (*p)[10]);

o :: идентификатор, где :: –операция указания области видимости;

o :: имя_функции-операции, :: квалифицированное_имя, this – это представители первичных выражений, смысл которых станет ясен при рассмотрении классов и объектов;

унарные, выполняющие действия только над одним операндом:

& – операция получения адреса операнда,

* – операция обращения по указателю (операция разыменования), доступа по адресу к значению того объекта, на которое указывает операнд; операндом должен быть адрес (указтель),

- – унарный минус, операция изменения знака,

+ – унарный плюс, введен для симметрии с унарным минусом,

~ – поразрядное инвертирование внутреннего двоичного кода целочисленного аргумента (побитовое отрицание),

! – логическое отрицание (НЕ) значения операнда (0 – ложь, ≠0– истина;!0 равно 1;!(-3) равно 0;!1 равно 0),

++ – увеличение на 1 (инкремент или автоувеличение) значения операнда; префиксная форма операции – увеличение значения операнда на 1 до использования его значения; постфиксная форма операции – увеличение значения операнда на 1 после использования его значения; операнд не может быть константой или произвольным выражением, а только модифицируемым леводопустимым выражением,

-- – уменьшение на 1 (декремент или автоуменьшение) значения операнда; префиксная форма операции – уменьшение значения операнда на 1 до использования его значения; постфиксная форма операции – уменьшение значения операнда на 1 после использования его значения; операнд не может быть константой или произвольным выражением, а только модифицируемым леводопустимым выражением,

throw – операция генерации исключения,

typeid – операция определения типа операнда: typeid (выражение) – для идентификации на этапе компиляции типа значения выражения; typeid (имя_типа) – для идентификации типа на этапе компиляции программы;

(тип) – операция преобразования (приведения) типов; не изменяя самого операнда, операция преобразует его значение к типу, обозначение которого помещено в скобках; (long)1 – внутреннее представление имеет длину 4 байта; (char)1 – внутреннее представление имеет длину 1 байт; (float)1 – внутреннее представление имеет длину 4 байта и изменяется структура внутреннего представления; при преобразовании вещественного значения к целочисленному типу возможна ошибка при выходе полученного значения за диапазон допустимых значений для целых и результат зависит от реализации,

тип () – функциональная форма преобразования типа; может использоваться только в тех случаях, когда тип имеет простое (несоставное) наименование,

dynamic_cast – операция приведения типов с проверкой допустимости приведения во время выполнения кода программы,

static_cast – операция приведения типов (обычно «родственных») с проверкой допустимости приведения во время компиляции,

reinterpret_cast – операция приведения типов без проверки допустимости приведения во время выполнения кода программы,

const_cast – операция приведения типов, которая аннулирует действие модификатораconst,

sizeof() – операция вычисления в байтах размера памяти операнда;sizeof (выражение) или sizeof (тип),

:: – унарная операция изменения (указания, разрешения) области видимости, операция указания контекста, позволяет получить из тела функции доступ к внешнему для функции объекту (например, к переменной),

new – операция для динамического выделения памяти,

delete – операция для освобождения динамически выделенной памяти.

 

бинарные, требующие для выполнения два операнда; в эту группу входит большинство операций;

тернарные – тройная условная операция ?:.

 

По типам выполняемых действий операции подразделяют на:

арифметические + - * / % - (изменение знака)
увеличения и уменьшения ++ --
присваивания = *= /= %= += -= <<= >>= &= | = ^=
отношения < <= > >= ==!=
логические &&(и) ||(или)!(не)
поразрядные логические и сдвига & | ^ ~ << >>
адресные & *
дополнительные ?:, () [ ] à. à*.*sizeof (тип)::

 


Дата добавления: 2015-07-08; просмотров: 315 | Нарушение авторских прав


Читайте в этой же книге: Арифметические операции | Выделение цифр в целом числе | Операции присваивания | Примеры использования | Логические выражения и примеры их записи | Пример 6. | Правила преобразования типов | Примеры преобразования типов | Адрес переменной | Программирование вычисления алгебраических выражений |
<== предыдущая страница | следующая страница ==>
Результат вычисления выражения характеризуется значением и типом. Операции выполняются в соответствии с их приоритетами.| Приоритеты (ранги) операций

mybiblioteka.su - 2015-2024 год. (0.007 сек.)