Читаем Программирование. Принципы и практика использования C++ Исправленное издание полностью

Если уж вам приходится использовать макросы, то называйте их, используя только прописные буквы, например ALL_CAPITAL_LETTERS, а обычные имена не должны состоять только из прописных букв. Прислушайтесь к хорошему совету. Например, в одном из вполне авторитетных заголовочных файлов мы нашли макрос max.

См. также раздел 27.8.

<p id="AutBody_Root636"><strong>Приложение Б</strong></p><p><strong>Обзор стандартной библиотеки</strong></p>

“По возможности, вся сложность должна быть скрыта

от постороннего взгляда”.

Дэвид Дж. Уилер (David J. Wheeler)

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

<p id="AutBody_Root637"><strong>Б.1. Обзор</strong></p>

Это приложение является справочником и не предназначено для последовательного чтения от начала до конца, как обычная глава. В нем более или менее систематично описываются основные элементы стандартной библиотеки языка С++. Впрочем, этот справочник не полон; он представляет собой краткий обзор с немногочисленными примерами, иллюстрирующими ключевые возможности. За более подробным объяснением читателям часто придется обращаться к соответствующим главам данной книги. Кроме того, следует подчеркнуть, что мы не стремились к точности стандарта и не придерживались его терминологии. Более подробную информацию читатели найдут в книге Stroustrup, The C++ Programming Language[13]. Полным определением языка является стандарт ISO C++, но этот документ не предназначен для новичков и не подходит для первоначального изучения языка. Не забудьте также об использовании документации, доступной в Интернете.

Какая польза от выборочного (а значит, неполного) обзора? Вы можете быстро найти известную операцию или бегло просмотреть раздел в поисках доступных операций. Вы можете найти очень подробную информацию в других источниках: но что конкретно искать, вам подскажет именно этот краткий обзор. В этом приложении содержатся перекрестные ссылки на учебный материал из других глав, а также кратко изложены возможности стандартной библиотеки. Пожалуйста, не старайтесь запомнить изложенные в нем сведения; они предназначены не для этого. Наоборот, это приложение позволит вам избавиться от необходимости запоминать лишнее.

Здесь вы можете найти готовые средства, вместо того, чтобы изобретать их самостоятельно. Все, что есть в стандартной библиотеке (и особенно все, что перечислено в приложении), оказалось весьма полезным для многих людей. Стандартные возможности библиотеки практически всегда разработаны, реализованы и документированы намного лучше, чем это можете сделать вы, находясь в цейтноте. Кроме того, их переносимость из одной системы в другую обеспечена намного лучше. Итак, по возможности всегда следует отдавать предпочтение стандартным библиотечным средства, а не “самогону” (“home brew”). В таком случае ваш код будет намного понятнее.

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

<p id="AutBody_Root638"><strong>Б.1.1. Заголовочные файлы</strong></p>

Интерфейсы средств из стандартной библиотеки определены в заголовках. Некоторые из заголовков, упомянутых в следующей таблице, не входят в стандарт языка C++, принятый ISO в 1998 году. Тем не менее они станут частью следующего стандарта и в настоящее время являются широкодоступными. Такие заголовки обозначены “C++0x”. Для их использования может потребоваться отдельная инсталляция и/или пространство имен, отличающееся от std (например, tr1 или boost). В этом разделе вы узнаете, какие средства могут стать доступными в вашей программе, а также можете угадать, где они определены и описаны.

Для каждого заголовка стандартной библиотеки языка С существует аналогичный заголовочный файл без первой буквы c в имени и с расширением .h, например заголовочный файл для заголовка . Версии заголовков с окончанием .h определяют глобальные имена, а не имена в пространстве имен std.

Некоторые, но не все средства, определенные в этих заголовках, описаны в следующих разделах и главах основного текста книги. Если вам необходима более полная информация, обратитесь к онлайн-документации или к книге по языку С++ экспертного уровня.

<p id="AutBody_Root639"><strong>Б.1.2. Пространство имен std</strong></p>

Средства стандартной библиотеки определены в пространстве имен std, поэтому, чтобы использовать их, необходимо указать их явную квалификацию, выполнить объявление using или директиву using.

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

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

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT