C++ - Страустрап Бьярн, Хилл Мюррей
-
Название:C++
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Страниц:161
-
Рейтинг:
-
Ваша оценка:
Основным термином С++ является класс. Класс – это вид, который определяет сам пользователь. Классы обеспечивают анонимность данных, обеспеченную инициализацию информации, смутное преобразование видов для видов, определенных эксплуатантом, меняющееся задание вида, управляемые пользователем контроль над памятью и механизмы перезагрузки процессов. С++ предоставляет более качественные, чем в C, средства выражения модульного принципа программы и проверки видов. В языке также присутствуют апгрейды, не связанные напрямую с классами, включающие в себя символические постоянные, параметры функции по умолчанию, inline-подстановку функций, операции управления свободной памятью и ссылочный тип, перезагруженные имена функций. В С++ сохранены потенциалы языка C по работе с заглавными предметами машинного обеспечения (байты, биты, адреса, слова и т.п.). Это дает шанс весьма продуктивно воспроизводить виды, определяемые эксплуатантом.
С++ и его библиотеки установленные по умолчанию спроектированы так, чтобы гарантировать переносимость. Имеющееся на данный временной отрезок воспроизводство языка будет идти в большинстве систем, которые в состоянии поддерживать C. Из С++ программ возможно прибегать к пользованию C библиотеки, и с С++ возможно прибегать к пользованию большей части инструментальных средств, поддерживающих программирование на C.
Эта книга рассчитана в первую очередь для того, чтобы оказать помощь опытным программистам изучить язык и применять его в нестандартных проектах. В ней дано полное описание С++, множество фрагментов программ и примеров.
C++ - Страустрап Бьярн, Хилл Мюррей читать онлайн бесплатно полную версию книги
«= меньше или равно выр „= выр “ больше выр » выр »= больше или равно выр »= выр =========================================================== == равно выр == выр != не равно выр != выр =========================================================== 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.2.1 Круглые скобки
Скобками синтаксис С++ злоупотребляет; количество спосбов их использования приводит в замешательство: они применются для заключения в них параметров в вызовах функций, в них заключается тип в преобразовании типа (приведении к типу), в именах типов для обозначения функций, а также для разрешения конфликтов приоритетов. К счастью, последнее требуется не слишком часто, потому что уровни приоритета и правила ассоцативности определены таким образом, чтобы выражения «работали ожидаемым образом» (то есть, отражали наиболее привычный спсоб употребления). Например, значение
if (i«=0 !! max«i) // ...
очевидно. Тем не менее, всегда, когда программист сомнвается относительно этих правил, следует употреблять скобки, и некоторые программисты предпочитают немного более длинное и менее элегантное
if ( (i«=0) !! (max«i) ) // ...
При усложнении подвыражений употребление скобок станвится более обычным явлением, но сложные подвыражения являюся источником ошибок, поэтому если вы чувствуете потребность в скобках, попробуйте оборвать выражение и использовать дополнительную переменную. Есть и такие случаи, когда приоритты операций не приводят к «очевидному» результату. Например в
if (i amp;mask == 0) // ...
не происходит применения маски mask к i и последующей проверки результата на ноль. Поскольку == имеет приоритет вше, чем amp;, выражение интерпретируется как i amp;(mask==0). В этом случае скобки оказываются важны:
if ((i amp;mask) == 0) // ...
Но, с другой стороны, то, что следующее выражение не рботает так, как может ожидать наивный пользователь, ничего не значит:
if (0 «= a «= 99) // ...
Оно допустимо, но интерпретируется оно как (0«=a)«=99, где результат первого подвыражения или 0 или 1, но не a (если только a не равно 1). Чтобы проверить, лежит ли a в диапазоне 0...99, можно написать
if (0«=a amp; amp; a«=99) // ...
3.2.2 Порядок вычисления