C++ 03 Standard-7.3.1.1 [namespace.unnamed] Absatz 1: (und C++ 11 Standard verwendet auch ähnliche Definition)C++ unbenannte (anonym) Namespace-Definition
Eine unbenannte-namespace- Definition verhält, als ob es von
namespace unique { /* empty body */ } using namespace unique; namespace unique { namespace-body }
ersetzt wurden Warum ist es nicht einfach folgende Definition?
namespace unique { namespace-body }
using namespace unique;
Side Frage: MSDN definiert durch letztere Form. Verstößt es technisch gegen Standard?
Ich denke, das liegt daran, dass Sie im 'namespace-body' auf die Entitäten ohne zusätzliche Qualifikation zugreifen, was erfordert, dass' using namespace unique' bereits wirksam ist. –
@mat im Körper eines Namespaces kann man sich immer auf Dinge beziehen, die in diesem Namespace definiert sind –
@ JohannesSchaub-litb: Ich weiß, ich habe mich über die Auswirkungen von Zusammenstößen mit der Umgebung Gedanken gemacht –