Я вижу, что этот вопрос является довольно старым, но для тех, кто проверяя это в будущем, я хотел бы добавить эту ссылку из документации LLVM в качестве дополнения к обсуждению и Poeple ищет для получения дополнительной информации:
LLVM Coding Standards: Do Not use using namespace std;
Я считаю, что название довольно показательно, почему я поделился им, чтобы помочь с этим вопросом.
В LLVM мы предпочитаем явно префикс всех идентификаторов из стандартного пространства имен с префиксом «std ::», а не полагаться на «using namespace std;».
В заголовочных файлах добавление директивы «using namespace XXX» загрязняет пространство имен любого исходного файла, которое # включает заголовок. Это явно плохо.
Редактировать: Так что, если использовать 'using std namespace;' явно введите std :: для каждого случая, когда вы используете стандартную библиотеку. Это позволяет избежать конфликтов с пространствами имен исходных файлов. Вот что советует цитата из статьи.
Вы помещаете * просто * эту линию? – GManNickG
Включите ли вы заголовок, который имеет это пространство имен? – JoshD
Xcode 4 все еще находится под NDA; вы должны задать этот вопрос на форуме бета-версии Apple, это единственный форум, в который вы вступили в компанию NDA с Apple. (https://devforums.apple.com/community/xcode4 - для входа/записи требуется ваша программа для входа в программу apple dev) –