दो स्रोत फ़ाइलों की एक जोड़ी पर विचार करें: एक इंटरफ़ेस घोषणा फ़ाइल (*.h
या *.hpp
) और इसकी कार्यान्वयन फ़ाइल (*.cpp
)।सी ++: नेमस्पेस - शीर्षलेख और स्रोत फ़ाइलों में सही तरीके से उपयोग कैसे करें?
*.h
फ़ाइल की तरह हो निम्नलिखित:
namespace MyNamespace {
class MyClass {
public:
int foo();
};
}
मैं स्रोत फ़ाइलों में नामस्थान उपयोग करने के लिए दो अलग-अलग प्रथाओं को देखा है:
*.cpp
दिखा # 1 अभ्यास:
#include "MyClass.h"
using namespace MyNamespace;
int MyClass::foo() { ... }
*.cpp
अभ्यास दिखा रहा है # 2:
मेरा प्रश्न: क्या इन दो प्रथाओं के बीच कोई अंतर है और क्या दूसरे की तुलना में बेहतर माना जाता है?
वहाँ भी विकल्प 3 है : बस हमें पूरा नाम, उदाहरण के लिए 'int MyNamespace :: MyClass :: foo() ...'। –
संभावित डुप्लिकेट: http://stackoverflow.com/questions/7789163/using-directive-best-practice – David
@ डुप्लिकेट न करें। ये प्रश्न एक दूसरे के पूरक हैं। इस सवाल के लिए डेव द्वारा दिए गए लिंक को "पढ़ने के लिए ..." के रूप में जोड़ने की अनुशंसा करें। मेरा सवाल नौसिखियों को सही शैली चुनने में मदद करेगा। – DaddyM