LoveRead.info » Книги » Разная литература » Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп

Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп

Книгу Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

288 0 18:03, 26-08-2023
Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп
26 август 2023

Книга Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп читать онлайн бесплатно без регистрации

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

    1 ... 304 305 306 307 308 309 310 311 312 ... 337
    Перейти на страницу:
    выполнения именно этой функции. Значение, возвращаемое функцией main(), имеет тип int (альтернативный тип void не соответствует стандарту). Значение, возвращаемое функцией main(), передается системе. Некоторые системы игнорируют это значение, но признаком успешного завершения программы является нуль, а признаком ошибки — ненулевое значение или исключение, оставшееся не перехваченным (правда, такие исключения считаются признаком плохого стиля).

    Аргументы функции main() могут зависеть от реализации, но любая реализация должна допускать два варианта (но только одну для конкретной программы).

    int main();                       // без аргументов

    int main(int argc, char* argv[]); // массив argv[] содержит

                                      // argc C-строк

    В определении функции main() явно указывать тип возвращаемого значения не обязательно. В таком случае программа, дойдя до конца, вернет нуль. Вот как выглядит минимальная программа на языке C++:

    int main() { }

    Если вы определили глобальный (в пространстве имен) объект, имеющий конструктор и деструктор, то вполне логично, чтобы конструктор выполнялся до функции main(), а деструктор — после функции main(). Формально говоря, выполнение таких конструкторов является частью вызова функции main(), а выполнение деструкторов — частью возвращения из функции main(). При малейшей возможности постарайтесь избегать глобальных объектов, особенно если они требуют нетривиального создания и уничтожения.

    A.1.3. Комментарии

    Все, что можно сказать в программе, должно быть сказано. Однако в языке C++ есть два стиля комментариев, позволяющие программистам сказать то, что невозможно выразить с помощью кода.

    // это однострочный комментарий

    /*

      это многострочный

      блок комментариев

    */

    Очевидно, что блоки комментариев чаще всего оформляются как многострочные комментарии, хотя некоторые люди предпочитают разделять их на несколько однострочных.

    // Это многострочный

    // комментарий,

    // представленный в виде трех однострочных комментариев,

    /* а это однострочный комментарий, представленный как блочный

       комментарий */

    Комментарии играют важную роль для документирования предназначения кода; см. также раздел 7.6.4. 

    A.2. Литералы

    Литералы представляют значения разных типов. Например, литерал 12 представляет целое число двенадцать, литерал "Morning" — символьную строку Morning, а литерал true — булево значение true.

    A.2.1. Целочисленные литералы

    Целочисленные литералы (integer literals) имеют три разновидности.

    • Десятичные: последовательности десятичных цифр.

     Десятичные цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9.

    • Восьмеричные: последовательности восьмеричных цифр, начинающиеся с нуля.

     Восьмеричные цифры: 0, 1, 2, 3, 4, 5, 6 и 7.

    • Шестнадцатеричные: последовательности шестнадцатеричных цифр, начинающихся с 0x или 0X.

     Шестнадцатеричные цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, A, B, C, D, E и F.

    Суффикс u или U означает, что целочисленный литерал не имеет знака, т.е. имеет спецификатор unsigned (см. раздел 25.5.3), а суффикс l или L относит их к типу long, например 10u или 123456UL.

    A.2.1.1. Числовые системы

    Обычно мы записываем числа в десятичной системе. Число 123 означает 1 сотню плюс 2 десятки плюс 3 единицы, или 1*100+2*10+3*1, или (используя символ ^ для обозначения степени) 1*10^2+2*10^1+3*10^0. Иногда вместо слова десятичный говорят: “База счисления равна десяти” (base-10). В данном случае число 10 означает, что в выражении 1*base^2+2*base^1+3*base^0 выполняется условие base==10. Существует много теорий, объясняющих, почему мы используем десятичную систему счисления. Одна из них апеллирует к естественным языкам: у нас на руках десять пальцев, а каждый символ, такой как 0, 1 и 2, представляющий собой цифру в позиционной системе счисления, в английском языке называется digit. Слово Digit в латинском языке означает палец.

    Впрочем, иногда используются и другие системы счисления. Как правило, положительные целые числа в памяти компьютера представляются в двоичной системе счисления, т.е. база счисления равна 2 (значения 0 и 1 относительно легко представить с помощью физических состояний). Люди, сталкивающиеся с необходимостью решать задачи на низком уровне аппаратного обеспечения, иногда используют восьмеричную систему счисления (база равна 8), а при адресации памяти чаще используется шестнадцатеричная система (база равна 16).

    Рассмотрим шестнадцатеричную систему счисления. Мы должны назвать шестнадцать значений от 0 до 15. Обычно для этого используются следующие символы: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, где A имеет десятичное значение 10, B — десятичное значение 11 и так далее:

    A==10, B==11, C==12, D==13, E==14, F==15

    Теперь можем записать десятичное число 123 как 7B в шестнадцатеричной системе счисления. Для того чтобы убедиться в этом, обратите внимание на то, что в шестнадцатеричной системе счисления число 7B равно 7*16+11, что в десятичной системе счисления равно 123. И наоборот, шестнадцатеричное число 123 означает 1*16^2+2*16+3, т.е. 1*256+2*16+3, что в десятичной системе счисления равно 291. Если вы никогда не сталкивались с недесятичными представлениями целых чисел, то мы настоятельно рекомендуем вам поупражняться в преобразовании чисел из десятичной системы в шестнадцатеричную, и наоборот. Обратите внимание на то, что шестнадцатеричная цифра имеет очень простое соответствие со своим двоичным значением.

    Это объясняет популярность шестнадцатеричной системы. В частности, значение байта просто выражается двумя шестнадцатеричными цифрами.

    В языке C++ (к счастью) числа являются десятичными, если иное не указано явно. Для того чтобы сказать, что число является шестнадцатеричным, следует поставить префикс 0X (символ X происходит от слова hex), так что 123==0X7B и 0X123==291. Точно так же можно использовать символ x в нижнем регистре, поэтому 123==0x7B и 0x123==291. Аналогично мы можем использовать шестнадцатеричные цифры a, b, c, d, e и f в нижнем регистре. Например, 123==0x7b.

    Восьмеричная система основана на базе счисления, равной восьми. В этом случае мы можем использовать только восемь восьмеричных цифр: 0, 1, 2, 3, 4, 5, 6, 7. В языке C++ числа в восьмеричной системе счисления начинаются с символа 0, так что число 0123 —

    1 ... 304 305 306 307 308 309 310 311 312 ... 337
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


    Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

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

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Людмила Хофман Людмила Хофман10 июнь 22:13 У меня перевернулся мир после прочтения ваших книг! Так приятно и чисто на душе, ведь по сути неважно кто с кем , а только любовь... Долгая игра - Рейчел Рид
    2. Анна Анна08 июнь 11:28 Спасибо за новую историю жизни и любви на сайте,прочитала с удовольствием .... Давай поженимся - Юлия Резник
    3. Елена Елена08 июнь 11:13 Прочла несколько романов этого, без сомнения, талантливого автора. Впечатление прекрасное, но хотелось бы когда-нибудь прочесть... Предатель. Ты врал мне годами - Арина Арская
    Все комметарии
    Новинки бесплатной онлайн библиотеки