3.2 Краткая сводка операций

3.2 Краткая сводка операций

Операции С++ подробно и систематически описываются в #с. 7; прочитайте, пожалуйста, этот раздел. Здесь же приводится операция краткая сводка и некоторые примеры. После каждой операции приведено одно или более ее общеупотребительных наваний и пример ее использования. В этих примерах имя_класса – это имя класса, член – имя члена, объект – выражение, дающее в результате объект класса, указатель – выражение, дающее в результате указатель, выр – выражение, а lvalue – выражение, денотирующее неконстантный объект. Тип может быть совершенно произвольным именем типа (со * () и т.п.) только когда он стоит в скобках, во всех остальных случаях существуют огранчения.

Унарные операции и операции присваивания правоассоцитивны, все остальные левоассоциативны. Это значит, что a=b=c означает a=(b=c), a+b+c означает (a+b)+c, и *p++ означает *(p ++), а не (*p)++.

Сводка Операций (часть 1) =========================================================== :: разрешение области видимости имя_класса :: член :: глобальное :: имя =========================================================== -» выбор члена указатель-»член [] индексация указатель [ выр ] () вызов функции выр (список_выр) () построение значения тип (список_выр) sizeof размер объекта sizeof выр sizeof размер типа sizeof ( тип ) =========================================================== ++ приращение после lvalue++ ++ приращение до ++lvalue – уменьшение после lvalue– – уменьшение до –lvalue ~ дополнение ~ выр ! не ! выр – унарный минус – выр + унарный плюс + выр amp; адрес объекта amp; lvalue * разыменование * выр new создание (размещение) new тип delete уничтожение (освобождение) delete указатель delete[] уничтожение вектора delete[ выр ] указатель () приведение (преобразование типа) ( тип ) выр =========================================================== * умножение выр * выр / деление выр / выр % взятие по модулю (остаток) выр % выр =========================================================== + сложение (плюс) выр + выр – вычитание (минус) выр – выр =========================================================== «„ сдвиг влево lvalue „„ выр ““ сдвиг вправо lvalue “» выр =========================================================== « меньше выр « выр

«= меньше или равно выр „= выр “ больше выр » выр »= больше или равно выр »= выр =========================================================== == равно выр == выр != не равно выр != выр =========================================================== amp; побитовое И выр amp; выр =========================================================== ^ побитовое исключающее ИЛИ выр ^ выр =========================================================== ! побитовое включающее ИЛИ выр ! выр =========================================================== amp; amp; логическое И выр amp; amp; выр =========================================================== !! логическое включающее ИЛИ выр !! выр =========================================================== ? : арифметический if выр ? выр : выр =========================================================== = простое присваивание lvalue = выр *= умножить и присвоить lvalue = выр /= разделить и присвоить lvalue /= выр %= взять по модулю и присвоить lvalue %= выр += сложить и присвоить lvalue += выр -= вычесть и присвоить lvalue -= выр «„= сдвинуть влево и присвоить lvalue „„= выр ““= сдвинуть вправо и присвоить lvalue “»= выр amp;= И и присвоить lvalue amp;= выр != включающее ИЛИ и присвоить lvalue != выр ^= исключающее ИЛИ и присвоить lvalue ^= выр =========================================================== , запятая (следование) выр , выр ===========================================================

В каждой очерченной части находятся операции с одинаквым приоритетом. Операция имеет приоритет больше, чем оперции из частей, расположенных ниже. Например: a+b*c означает a +(b*c), так как * имеет приоритет выше, чем +, а a+b-c ознчает (a+b)-c, поскольку + и – имеют одинаковый приоритет (и поскольку + левоассоциативен).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

3.3 Сводка операторов

Из книги C++ автора Хилл Мюррей

3.3 Сводка операторов Операторы С++ систематически и полностью изложены в #с.9, прочитайте, пожалуйста, этот раздел. А здесь приводится краткая сводка и некоторые примеры.Синтаксис оператора – оператор: описание (*список_операторов opt*) выражение optif оператор if ( выражение )


15.2 Сводка Несовместимостей

Из книги Защити свой компьютер на 100% от вирусов и хакеров автора Бойцев Олег Михайлович

15.2 Сводка Несовместимостей Большинство конструкций C допустимы в С++ без изменения их смысла. Исключения из этого следующие:Программы, использующие одно из новых ключевых словclass const delete friend inline new operator overload public signed this virtual volatileкак идентификаторы, недопустимы.Описание


Краткая предыстория

Из книги Справочное руководство по C++ автора Страустрап Бьярн

Краткая предыстория Первоначально операционная система UNIX была разработана в конце 1960-х годов сотрудниками компании Bell Labs, в первую очередь Кеном Томпсоном (Kenneth Thompson), Денисом Ритчи (Dennis MacAlistair Ritchie) и Дугласом МакИлроем (Douglas McIlroy) (рис. 8.1). Уже к 1978 году система была


R.10.4 Сводка правил области видимости

Из книги Инфраструктуры открытых ключей автора Полянская Ольга Юрьевна

R.10.4 Сводка правил области видимости Теперь можно свести воедино правила областей видимости для программы на C++. Эти правила одинаково применимы для всех имен (включая имя-typedef (§R.7.1.3) и имя-класса (§R.9.1)) и в любом контексте, для которого они допустимы по синтаксису языка.


R.17 Приложение A: Сводка грамматики

Из книги Технология XSLT автора Валиков Алексей Николаевич

R.17 Приложение A: Сводка грамматики Это приложение не относится к справочному руководству языка и не является определением конструкций C++.Оно только должно служить более полному пониманию С++. Нельзя рассматривать его как точное определение языка, так как описанная здесь


Краткая характеристика

Из книги Как спроектировать современный сайт автора Вин Чои

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


Краткая история XML

Из книги Домашний компьютер автора Кравцов Роман

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


Краткая ретроспектива

Из книги 19 смертных грехов, угрожающих безопасности программ автора Ховард Майкл

Краткая ретроспектива Вернемся на некоторое время в прошлое. Возникновение понятия типографской сетки относят к началу XX века. Это произошло, когда группа архитекторов, печатников, типографов и дизайнеров стала рассматривать графическое искусство как отражение


Краткая история Интернета

Из книги Linux программирование в примерах автора Роббинс Арнольд

Краткая история Интернета Сказать, что популярность Интернета растет стремительно – это не сказать ничего. Согласно прогнозам, к 2010 году число компьютеров, подключенных к Интернету, увеличится до 500 миллионов, а число пользователей – до 700 миллионов. Для сравнения, в 1997


Приложение В. Сводка рекомендаций

Из книги HTML5 для веб-дизайнеров автора Джереми Кит

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


9.4.3.5. Сводка fcntl()

Из книги Графология XXI века автора Щеголев Илья Владимирович

9.4.3.5. Сводка fcntl() Сводка для системного вызова fcntl() приведена в табл. 9.5.Таблица 9.5. Сводка fcntl() Значение cmd Значение arg Возвращает F_DUPFD Наименьший новый дескриптор Дублирует аргумент fd F_GETFD Получает флаги дескриптора файла (close-on-exec) F_SETFD Новое значение


1. Краткая история разметки

Из книги QT 4: программирование GUI на С++ автора Бланшет Жасмин

1. Краткая история разметки HTML – связующий язык Всемирной паутины. С помощью простых тегов, которые содержит этот язык, род человеческий сумел создать ошеломительно разнообразную сеть документов, связанных между собой гиперссылками – от Amazon, eBay и Wikipedia до личных


Краткая история TCP/IP

Из книги автора

Краткая история TCP/IP История создания и развития протоколов TCP/IP неразрывно связана с Internet — интереснейшим достижением мирового сообщества в области коммуникационных технологий. Internet является глобальным объединением разнородных компьютерных сетей, использующих


1.1. Краткая история графологии

Из книги автора

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


Краткая история Qt

Из книги автора

Краткая история Qt Средства разработки Qt впервые стали известны общественности в мае 1995 года. Первоначально Qt разрабатывались Хаарвардом Нордом (исполнительным директором компании «Trolltech») и Айриком Чеймб-Ингом (президентом «Trolltech»). Хаарвард и Айрик познакомились в