हमारे सभी सी ++ पाठ्यक्रमों में, सभी शिक्षक अपनी फाइलों में एस के using namespace std;बाद हमेशा सही डालते हैं । यह मुझे तब से खतरनाक लग रहा है जब तक कि किसी अन्य प्रोग्राम में उस हेडर को शामिल करने से मुझे अपने प्रोग्राम में आयात किए गए नेमस्पेस मिल जाएंगे, हो सकता है कि इसे साकार किए बिना, इरादा या इसे (हेडर इंक्लूजन बहुत गहरा नेस्टेड हो सकता है)।#include.h
इसलिए मेरा प्रश्न दोहरा है: क्या मैं सही हूं कि using namespaceइसे हेडर फ़ाइलों में उपयोग नहीं किया जाना चाहिए, और / या इसे इसे पूर्ववत करने का कोई तरीका है, कुछ इस प्रकार है:
//header.h
using namespace std {
.
.
.
}
इसी तर्ज पर एक और सवाल: क्या हेडर को #includeसभी हेडर को फाइल करना चाहिए जो कि इसी .cppफाइल की जरूरत है, केवल उन है कि हेडर परिभाषाओं के लिए आवश्यक हैं और .cppफाइल #includeको बाकी है, या कोई भी नहीं है और सब कुछ की घोषणा के रूप में की जरूरत है extern?
सवाल के पीछे तर्क ऊपर के रूप में ही है: मुझे आश्चर्य नहीं है जब .hफाइलें शामिल हैं।
इसके अलावा, अगर मैं सही हूं, तो क्या यह एक सामान्य गलती है? मेरा मतलब है कि वास्तविक दुनिया की प्रोग्रामिंग और "वास्तविक" परियोजनाओं में।
धन्यवाद।
using namespaceबयानों के कारण नाम टकराव मिलते हैं तो आप समस्या को हल करने के लिए पूरी तरह से योग्य नाम का उपयोग कर सकते हैं।