मैं एक फ़ाइल में एक ही हेडर के कई समावेशन के बारे में पढ़ रहा था, और एक दिलचस्प बयान (link) में पाया गया:एक ही हेडर को एक फ़ाइल में कई बार शामिल करना उपयोगी होता है?
हेडर फाइल के साथ चाल के एक जोड़े थे रहे हैं आप जानबूझकर इसे कई बार शामिल हैं (इस वास्तव में एक उपयोगी सुविधा प्रदान करता है)।
मैं समझता हूँ कि उन चाल शायद अवांछित और वास्तविक दुनिया परियोजनाओं में भ्रमित कर रहे हैं (विशेष रूप से लोगों को, कई समावेशन के खिलाफ सावधानी बरतने include guards और #pragma once
की तरह)। लेकिन फिर भी, ये चाल क्या हैं? मैं कुछ विचारों के साथ आया, लेकिन कुछ वास्तविक उदाहरण देखना चाहते हैं (आदर्श, सुरक्षित और कोशिश की)।
मेरे विचार: सी, जहां टेम्प्लेट पैरामीटर पूर्वप्रक्रमक परिभाषा के साथ प्रतिस्थापित कर रहे हैं में
- छद्म टेम्पलेट्स। इसे बिना किसी समावेशन के किया जा सकता है, लेकिन फ़ंक्शंस बहुत बड़े या बहुत अधिक हो सकते हैं, इसलिए एक अलग फ़ाइल बनाना समझ में आता है।
- ब्लॉक-दर-ब्लॉक संरचना/वर्ग निर्माण (टुकड़ों का संयोजन)। यह सी में विरासत को अनुकरण करने में मदद कर सकता है और सामान्य सदस्यों के साथ structs परिभाषित करते समय कोड डुप्लिकेशन को रोक सकता है।
- लुक-अप टेबल और अन्य संकलन-समय डेटा संरचनाएं (फिर से, प्रीप्रोसेसर परिभाषाओं की सहायता से)।
एक्स मैक्रोज़ –
हो सकता है कि आप एक स्रोत फ़ाइल में छिड़काव '# परिभाषित' और '# undef' का उपयोग कर रहे हों ... –
आप उस व्यक्ति से क्यों नहीं पूछते हैं? – juanchopanza