निम्नलिखित दो बयान पर विचार करें:क्या उपनाम के बराबर किसी अन्य नामस्थान के अंदर 'नेमस्पेस का उपयोग करना' है?
namespace foo = bar;
और
namespace foo {
using namespace bar;
}
उन दो बयानों बराबर हैं, या वहाँ कुछ सूक्ष्म अंतर मैं के बारे में पता नहीं कर रहा हूँ कर रहे हैं?
(कृपया ध्यान दें कि यह कोडिंग शैली के बारे में कोई सवाल नहीं है - मुझे बस सी ++ पार्सिंग में दिलचस्पी है)।
बहुत देर से टिप्पणी के लिए खेद है, लेकिन मुझे लगा कि दूसरों को खोजा जा सकता है। उपयोग नामस्थान बार कथन केवल उन चीजों को उस समय परिभाषित करता है जो उस समय foo नामस्थान में परिभाषित किया गया है। संक्षेप में, यह खराब ऑर्डर निर्भरता बना सकता है। Sutter/Alexandrescu के C++ कोडिंग मानकों में आइटम # 59 देखें –
@RobL: _declaration_ का उपयोग केवल उस समय घोषित नामों में लाता है। उपर्युक्त _directive_ का उपयोग कर रहा है। पूर्व नामस्थान से नामों के वर्तमान दायरे में पुनर्विक्रय की तरह है। उत्तरार्द्ध कहने के लिए एक नियम की तरह है, अगर आपको यह यहां नहीं मिला है तो इस अन्य नामस्थान की जांच करें। –