"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जब `cstdio` शामिल है तो `printf` C++ में `std::` के बिना क्यों काम करता है?

जब `cstdio` शामिल है तो `printf` C++ में `std::` के बिना क्यों काम करता है?

2024-11-17 को प्रकाशित
ब्राउज़ करें:411

 Why Does `printf` Work Without `std::` in C   When `cstdio` is Included?

cstdio stdio.h Namespace

cstdio के लिए C संदर्भ में कहा गया है कि "लाइब्रेरी के प्रत्येक तत्व को std नेमस्पेस के भीतर परिभाषित किया गया है।" हालाँकि, आपने पाया कि std::printf और printf दोनों काम करते हैं, जिससे यह सवाल उठता है कि क्या C हेडर में दोनों नामस्थानों में प्रतीक शामिल हैं।

उत्तर अधिक सूक्ष्म है।

cstdio सहित

cstdio को शामिल करते हुए प्रतीकों को std नेमस्पेस में और संभवतः वैश्विक नेमस्पेस में आयात किया जाता है। ऐसा इसलिए है क्योंकि cstdio में stdio.h शामिल है, जो एक C-स्टाइल हेडर है। संभवतः एसटीडी नेमस्पेस में। ऐसा इसलिए है क्योंकि stdio.h एक सी-स्टाइल हेडर है।

संगतता विशेषताएं

सी में सी-स्टाइल हेडर का उपयोग एक संगतता सुविधा है। सी 11 मानक निर्दिष्ट करता है कि सी मानक लाइब्रेरी के साथ संगतता के लिए, सी मानक लाइब्रेरी 25 सी हेडर प्रदान करती है, जिसमें cstdio और stdio.h शामिल हैं।

मानक आगे बताता है कि प्रत्येक सी हेडर "प्रत्येक नाम की तरह व्यवहार करता है संबंधित cname हेडर द्वारा मानक लाइब्रेरी नेमस्पेस में रखा गया वैश्विक नेमस्पेस के भीतर रखा गया है दायरा। उपयोग किए जा रहे हेडर और कंपाइलर का कार्यान्वयन। हालाँकि, यह हमेशा गारंटी नहीं होती है कि दोनों नामस्थानों में समान प्रतीक होंगे।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3