vedo che questa domanda è piuttosto vecchio, ma per chiunque controllare questo fuori in futuro, ho voluto aggiungere questo link dalla documentazione LLVM come supplemento per la discussione e per poeple alla ricerca di maggiori informazioni:
LLVM Coding Standards: Do Not use using namespace std;
Credo che il titolo sia piuttosto indicativo del motivo per cui l'ho condiviso per aiutare con questa domanda.
In LLVM, preferiamo prefissare esplicitamente tutti gli identificatori dallo spazio dei nomi standard con un prefisso "std ::", anziché affidarsi a "using namespace std;".
Nei file di intestazione, l'aggiunta di una direttiva 'using namespace XXX' inquina lo spazio dei nomi di qualsiasi file sorgente che # include l'intestazione. Questa è chiaramente una brutta cosa.
Modifica: Quindi, se si utilizza 'using std namespace;' digitare in modo esplicito std :: per ogni caso in cui si utilizza la libreria standard. Evita i conflitti con gli spazi dei nomi dei file di origine. Questo è ciò che la citazione sopra dell'articolo consiglia.
fonte
2016-08-19 08:24:53
Stai mettendo * solo * quella linea? – GManNickG
Includete intestazioni con questo spazio dei nomi? – JoshD
Xcode 4 è ancora sotto NDA; dovresti fare questa domanda nel forum beta dev di Apple, è l'unico forum in cui la NDA che hai inserito con Apple ti permette di chiedere. (https://devforums.apple.com/community/xcode4 - è necessario il login del programma apple dev per leggere/postare) –