दोनों मौजूदा उत्तर गलत हैं, और अधिकांश टिप्पणियां भी हैं।
<cstdatomic>
किसी भी मानक में परिभाषित शीर्षलेख नहीं है।
इसे पुराने सी ++ 0x ड्राफ्ट में परिभाषित किया गया था लेकिन अंतिम सी ++ 11 मानक में नहीं है, केवल <atomic>
है। इसलिए इसे जीसीसी 4.4 के प्रयोगात्मक सी ++ 0x समर्थन के हिस्से के रूप में शामिल किया गया था, लेकिन उसके बाद बाद में रिलीज़ के लिए नाम बदल दिया गया जब इसे सी ++ 0x ड्राफ्ट में बदल दिया गया था (जिसे 200 9 में N2992 द्वारा किया गया था)।
आपको <cstdatomic>
का उपयोग नहीं करना चाहिए जबतक कि आप जीसीसी 4.4 के साथ फंस गए हों और सी ++ 11 परमाणुओं के अपूर्ण और बग्गी संस्करण का उपयोग करने में प्रसन्न न हों। (मैं इसे नदी के ऊपर जीसीसी 4.6 विज्ञप्ति में नहीं है, यह एक Ubuntu या Kubuntu या Linaro पैच होना चाहिए पता नहीं क्यों Kubuntu के जीसीसी 4.6 हैडर शामिल है।)
<atomic>
मानक सी ++ 11 शीर्ष लेख है कि आप किसी भी उचित रूप से अनुरूप C++ 11 कार्यान्वयन के लिए भरोसा कर सकते हैं।
<stdatomic.h>
C11 हैडर है, लेकिन सी ++ 11 पुस्तकालय C99 पुस्तकालय पर आधारित है, इसलिए <stdatomic.h>
शामिल नहीं है और यह करने के लिए इसी एक <cstdatomic>
प्रदान नहीं करता है।
स्रोत
2014-12-06 15:37:13
ठीक है, 'cstdio' और' iostream' के बीच क्या अंतर है? बेशक यह समान कार्यक्षमता कम या कम है, लेकिन एक उचित सी ++ है और दूसरा सी विरासत है। स्पष्टीकरण के लिए –