Почему включение «использования пространства имен» в файл заголовка - плохая идея в C ++?

Читая книгу Брюса Эккеля «Мышление на C ++» о пространствах имен, я обнаружил следующее утверждение:

Однако вы практически никогда не увидите директива using в файле заголовка (по крайней мере, не за рамками). В причина в том, что директива using устранить защиту этого конкретное пространство имен, а эффект длится до конца текущего блок компиляции. Если вы поставите использование директива (вне области видимости) в заголовочный файл, это означает, что эта потеря "защита пространства имен" будет происходить в любой файл, который включает это заголовок, который часто означает другой заголовок файлы.

Не могли бы вы помочь мне понять приведенное выше утверждение на каком-нибудь простом примере?

26
задан sharptooth 2 February 2011 в 10:11
поделиться