widzę, że to pytanie jest dość stary, ale dla każdego, sprawdzając to w przyszłości, chciałem dodać ten link z dokumentacją LLVM jako dodatek do dyskusji i ludzie ciężko poszukujących Więcej informacji:
LLVM Coding Standards: Do Not use using namespace std;
Uważam, że tytuł jest dość wskazujący, dlaczego udostępniłem go, aby pomóc w tym pytaniu.
W LLVM, wolimy jawnie prefiksować wszystkie identyfikatory ze standardowej przestrzeni nazw z prefiksem "std ::", zamiast polegać na "using namespace std;".
W plikach nagłówkowych dodanie dyrektywy "za pomocą przestrzeni nazw XXX" powoduje zanieczyszczenie przestrzeni nazw dowolnego pliku źródłowego, który # zawiera nagłówek. To oczywiście zła rzecz.
Edycja: Zamiast tego użyj "używając std namespace;" jawnie wpisz std :: dla każdego przypadku, w którym używasz standardowej biblioteki. Pozwala uniknąć konfliktów z przestrzeniami nazw plików źródłowych. To właśnie cytuje powyższy cytat z artykułu.
Umieszczasz * tylko * tę linię? – GManNickG
Czy uwzględniasz nagłówki z tym obszarem nazw? – JoshD
Xcode 4 nadal znajduje się pod NDA; powinieneś zadać to pytanie na forum beta bet dev firmy Apple, jest to jedyne forum, na które NDA zawarłeś umowę z Apple, o które możesz poprosić. (https://devforums.apple.com/community/xcode4 - do zalogowania się/logowania wymagane jest zalogowanie się do programu Apple) –