Глава 24
Пространства имен
Пространства имен (namespaces) — относительно недавнее дополнение средств C++, которое было введено в стандарт ANSI C++ в июле 1993 г. Компилятор Borland C++ 5 — одна из самых первых систем разработки, в которой была обеспечена поддержка этих возможностей языка. Для многих программистов пространства имен остаются загадкой и кажутся необходимыми только в очень больших и сложных проектах.
В действительности это близорукая точка зрения. Пространства имен — важная часть языка, весьма существенная при разработке и поддержке достаточно больших программ на протяжении длительных периодов времени. Кроме того, стандартная библиотека C++ в целом структурирована в пространстве имен, поэтому хорошее представление и умение пользоваться этими средствами необходимы каждому серьезному разработчику. Наконец, большинство новых коммерческих библиотек классов разрабатываются с учетом существования этого средства, поэтому приложения, в которых предполагается использовать программные продукты сторонних поставщиков, должны учитывать синтаксис пространств имен.
В данной главе делается попытка показать основные возможности пространств имен и рассмотреть причины, по которым эти средства языка были добавлены в новый стандарт. В частности, в этой главе рассматриваются:
• Конфликты имен и их обработка компилятором
• Принципы построения, вложения и расширения пространств имен
• Понятие псевдонимов и способы, которыми программный код, находящийся в пространстве имен, может быть поднят на текущий уровень области видимости
• Практические советы по объединению ваших программ с программными продуктами сторонних поставщиков