C++ - Страустрап Бьярн, Хилл Мюррей
-
Название:C++
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Страниц:161
-
Рейтинг:
-
Ваша оценка:
Основным термином С++ является класс. Класс – это вид, который определяет сам пользователь. Классы обеспечивают анонимность данных, обеспеченную инициализацию информации, смутное преобразование видов для видов, определенных эксплуатантом, меняющееся задание вида, управляемые пользователем контроль над памятью и механизмы перезагрузки процессов. С++ предоставляет более качественные, чем в C, средства выражения модульного принципа программы и проверки видов. В языке также присутствуют апгрейды, не связанные напрямую с классами, включающие в себя символические постоянные, параметры функции по умолчанию, inline-подстановку функций, операции управления свободной памятью и ссылочный тип, перезагруженные имена функций. В С++ сохранены потенциалы языка C по работе с заглавными предметами машинного обеспечения (байты, биты, адреса, слова и т.п.). Это дает шанс весьма продуктивно воспроизводить виды, определяемые эксплуатантом.
С++ и его библиотеки установленные по умолчанию спроектированы так, чтобы гарантировать переносимость. Имеющееся на данный временной отрезок воспроизводство языка будет идти в большинстве систем, которые в состоянии поддерживать C. Из С++ программ возможно прибегать к пользованию C библиотеки, и с С++ возможно прибегать к пользованию большей части инструментальных средств, поддерживающих программирование на C.
Эта книга рассчитана в первую очередь для того, чтобы оказать помощь опытным программистам изучить язык и применять его в нестандартных проектах. В ней дано полное описание С++, множество фрагментов программ и примеров.
C++ - Страустрап Бьярн, Хилл Мюррей читать онлайн бесплатно полную версию книги
Чтобы освободить указанную память, операция delete вызвает функцию
void operator delete (void*);
В форме
delete [ выражение ] выражение
второй параметр указывает на вектор, а первое выражение задает число элементов этого вектора. Задание числа элементов является избыточным за исключением случаев уничтожения вектров некоторых классов, см. #8.5.8.
7.3 Мультипликативные операции
Мультипликативные операции *, / и % группируют слева направо. Выполняются обычные арифметические преобразования.
мультипликативное_выражение: выражение * выражение выражение / выражение выражение % выражение
Бинарная операция * определяет умножение. Операция * ассоциативна и выражения с несколькими умножениями на одном уровне могут быть реорганизованы компилятором. Бинарная операция / определяет деление. При делении пложительных целых округление осуществляется в сторону 0, но если какой-либо из операндов отрицателен, то форма округления является машинно зависимой. На всех машинах, охватываемых данным руководством, остаток имеет тот же знак, что и делмое. Всегда истиинно, что (a/b)*b + a%b равно a (если b не 0).
Бинарная операция % дает остаток от деления первого вражения на второе. Выполняются обычные арифметические преоразования. Операнды не должны быть числами с плавающей токой.
7.4 Аддитивные операции
Аддитивные операции + и – группируют слева направо. Выполняюься обычные арифметические преобразования. Каждая операция имеет некоторые дополнительные возможности, связаные с типами.
аддитивное_выражение: выражение + выражение выражение – выражение
Результатом операции + является сумма операндов. Можно суммировать указатель на объект массива и значение целого тпа. Последнее во всех случаях преобразуется к смещению адреса с помощью умножения его на длину объекта, на который указывет указатель. Результатом является указатель того же типа, что и исходный указатель, уазывающий на другой объект того же массива и соответствующим образом смещенный от первоначальнго объекта. Так, если P есть указатель на объект массива, то выражение P+1 есть указатель на следующий объект массива.
Никакие другие комбинации типов для указателей не допутимы.
Операция + ассоциативна и выражение с несколькими умнжениями на одном уровне может быть реорганизовано компилятром.
Результатом операции – является разность операндов. Выполняюься обычные арифметические преобразования. Кроме тго, значение любого целого типа может вычитаться из указатля, в этом случае применяются те же преобразования, что и к сложению.
Если вычитаются указатели на объекты одного типа, то рзультат преобразуется (посредством деления на длину объекта) к целому, представляющему собой число объектов, разделяющих объекты, указанные указателями. В засисимости от машины рзультирующее целое может быть или типа int, или типа long, см. #2.6. Вообще говоря, это преобразование будет давать нопределенный результат кроме тех случаев, когда указатели указывают на объекты одного массива, поскольку указатели, дже на объекты одинакового типа, не обязательно различаются на величину, кратную длине объекта.
7.5 Операции сдвига
Операции сдвига «„ и “» группируют слева направо. Обе выполняют одно обычное арифметическое преобразование над свими операндами, каждый из которых должен быть целым. В этом случае правый операнд преобразуется к типу int; тип результта совпадает с типом левого операнда. Результат неопределен,
если правый операнд отрицателен или больше или равен длине объекта в битах.
сдвиговое_выражение: выражение «„ выражение выражение “» выражение