688_______________________________Часть IV. Новые возможности C++
С одной стороны, раздраженный оппонент говорит: "Да не давайте вы своим пространствам столь длинных имен!" С другой стороны, действительно хотелось бы найти решение, обеспечивающее большую элегантность и простоту. Такое решение, отчасти, может состоять в использовании псевдонимов (aliases).
Псевдоним позволяет давать одному пространству несколько различных имен. Это означает, что можно успокоить своего начальника тем, что код помещен В Пространство С именем AmalgamatedWoodchuckFeedCorp, НО В ТО же время реально использовать пространство с именем ChuckFood или AWFC.
Синтаксис создания псевдонима достаточно прост:
namespace псевдоним ^ имя_пространства;
Для нашего примера с длинным именем можно.поступить так:
namespace AmalgamatedWoodchuckFeedCorp (
Здесь помещаются определения * } namespace AWFC = AmalgamatedWoodchuckFeedCorp;
В листинге 24.14 приводятся различные варианты использования псевдонимов. Программа создает достаточно громоздкую иерархию, а затем значительно упрощает ее путем введения более коротких псевдонимов.
ttinclude <iost.ream.h>
// Очень длинное название пространства имен namespace CrazySusansCustomRecipePlanner i
void Fund() { cout « "Функция Funcl\n"; }
namespace UserInterfaceWidgets (
void Func2() ( cout « "Функция Func2\n"; }
namespace WindowControls {
void Func3() { cout « "Функция Func3\n"; }
class Window
{
public:
void ShowYourself()
{ cout « "Я - окно!\п"; }
};
}