2012-01-05 17 views
14

संभव डुप्लिकेट:
Difference between string.h and cstring?मानक शीर्षलेख फ़ाइलों सहित। string.h या cstring? अथवा दोनों?

जब मानक हेडर math.h या इसके विपरीत के स्थान पर cmath सहित

के संबंध में फ़ाइलों सहित सी में बेहतर प्रोग्रामिंग अभ्यास ++ क्या है ?

cstringstring.h के स्थान पर या इसके विपरीत?

और अन्य <c*> और <*.h> शीर्षलेख फ़ाइलों जो स्पष्ट रूप से एक ही चीज़ को पूरा करने लगते हैं?

+0

@ जेफ्रोमी: बिल्कुल एक डुप्ली नहीं; यह प्रश्न '' से भी संबंधित है। –

उत्तर

23

<cstring> नया है; <string.h> वास्तव में पीछे की संगतता के लिए है (और निश्चित रूप से सी के लिए)। अंतर यह है कि <cstring>std नामस्थान में स्ट्रिंग फ़ंक्शंस रखता है, जबकि <string.h> उन्हें वैश्विक नामस्थान में रखता है।

इसके अलावा, <cstring> टाइप-सुरक्षा को बढ़ावा देने के लिए कुछ कार्यों के प्रकारों को बदलता है। उदाहरण के लिए, सी घोषणा

char *strchr(char const *, int); 

भार के (std नाम स्थान में)

char  *strchr(char  *, int); 
char const *strchr(char const *, int); 

<cmath> के मामले में वहाँ <math.h> साथ further differences हैं जो <cmath> अधिक मुहावरेदार और कम सी की तरह बनाने की जगह ।

नए कोड के लिए <cstring> पसंद करें और कार्यों पर std:: उपसर्ग का उपयोग करें।

संबंधित मुद्दे