C++ std::string class In Hindi
C++ प्रोग्रामिंग लैंग्वेज में std::string, एक बिल्ट-इन C++ स्टैंडर्ड लाइब्रेरी क्लास है, जो C++ यूजर को स्ट्रिंग कैरेक्टर टेक्स्ट इनफार्मेशन को कॉन्टिनियस सीक्वेंस में स्टोर और मैनिपुलेट करने के लिए एक पॉपुलर क्लास है।
C++ से पहले, स्ट्रिंग्स डाटा टाइप इनफार्मेशन को सामान्य रूप से कैरेक्टर एरे (char[]) फॉर्मेट का यूज़ करके डिक्लेअर और हैंडल किया जाता था। याद रहे, कैरेक्टर ऐरे डाटा टाइप वेरिएबल को मैनेज और प्रोसेस करना एक काम्प्लेक्स टास्क होता है. क्योंकि C++ प्रोग्रामर को प्रोग्राम में अलॉट मेमोरी, डिफाइन स्ट्रिंग लेंथ और नल स्ट्रिंग टर्मिनेटर (‘\0’) को मैन्युअली मैनेज करना पड़ता है।

C++ प्रोग्राम में std::string क्लास मेथड को यूजर डिफाइन स्ट्रिंग डाटा टाइप को हैंडलिंग को सिक्योर, इजी और ज़्यादा एफ्फिसिएंट बनाने के लांच किया गया था।
std::string emp_name = “Siddhi”;
यहाँ इस डिक्लेरेशन में, emp_name, std::string क्लास का एक यूजर डिफाइन ऑब्जेक्ट है।
Why do programmers need std::string in a C++ program?
इसे हम एक फिक्स्ड साइज कैरेक्टर ऐरे डाटा टाइप को डिक्लेअर कर समझ सकते है.
char comp_name[100] = “Vcanhelpsu Edtech”;
Common string class problems.
- फिक्स्ड साइज़ डिक्लेरेशन।
- मेमोरी बफ़र ओवरफ़्लो का रिस्क।
- मैन्युअल मेमोरी मैनेजमेंट इश्यूज।
- लिमिटेड बिल्ट-इन स्ट्रिंग डाटा ऑपरेशन।
With the std::string string class.
std::string comp_name = “Vcanhelpsu Edtech”;
comp_name += ” Platform”;
यहाँ + ऐड ऑपरेटर का यूज़ कर comp_name में नई स्ट्रिंग एलिमेंट को ऐड करने में किया जाता है।
std::string is a class in C++ programming.
C++ में, एक बिल्ट-इन स्ट्रिंग क्लास एक यूज़र-डिफ़ाइंड डेटा टाइप होता है. जिसमें डिफ़ॉल्ट ये कुछ एलिमेंट होते है.
- स्ट्रिंग क्लास डेटा मेंबर एलिमेंट।
- स्ट्रिंग क्लास मेंबर फ़ंक्शन।
याद रहे C++ में std::string एक इनबिल्ट क्लास है, जो C++ प्रोग्राम में डिक्लेअर कैरेक्टर को स्टोर और प्रोसेस करता है, और स्ट्रिंग डाटा टाइप के साथ काम करने के लिए कई रेडीमेड फ़ंक्शन प्रोवाइड करता है।
std::string class example.
std::string comp_name = “Vcanhelpsu”;
यहाँ इस एक्साम्प्ल के अंदर, comp_name नाम से एक स्ट्रिंग वेरिएबल वैल्यू ऑब्जेक्ट को स्टोर करता है.
- कैरेक्टर डाटा इन्फो (Vcanhelpsu).
- करंट comp_name वेरिएबल लेंथ।
- स्टोर मेमोरी कैपेसिटी की जानकारी।
How string data type variables are stored internally in a C++ program.
C++ यूजर द्वारा प्रोग्राम में एक करैक्टर स्ट्रिंग डाटा टाइप वेरिएबल पैरामीटर को मेमोरी में कैरेक्टर के कॉन्टिनियस सीक्वेंस आर्डर में स्टोर किया जाता है।
Example of string data type variable storage.
std::string comp_name = “Vcanhelpsu”;
Comp_name variable representation in memory.
Index location – 0 1 2 3 4 5 6 7 8 9
String data – Vcanhelpsu
As here, the Comp_name variable is stored sequentially.
comp_name[0]
comp_name[1]
comp_name[2]
comp_name[3]
comp_name[4]
Comp_name स्ट्रिंग डाटा टाइप वेरिएबल एलिमेंट को प्रॉपर मैनेज और एक्सेस किया जा सकता है।
Comp_name स्ट्रिंग डाटा टाइप सेकेंडरी स्टोरेज लोकेशन में एक ऐरे डाटा टाइप की तरह से स्टोर और प्रोसेस होता है।
Dynamic memory management in the string data type.
C++ प्रोग्रामिंग में std::string क्लास का सबसे बड़ा एडवांटेज जिसमे डायनामिक मेमोरी एलोकेशन फीचर है।
Dynamic string data type memory allocation.
std::string comp_name = “Vcanhelpsu”;
यहाँ स्टार्ट में ही comp_name वेरिएबल के लिए कई कैरेक्टर डाटा एलिमेंट के लिए मेमोरी एलोकेट की जा सकती है।
जब:
comp_name += ” Edtech”;
Add a new string element if more space is needed.
- तो नए स्ट्रिंग एलिमेंट के लिए नई डायनामिक मेमोरी एलोकेट की जाती है।
- मौजूदा स्ट्रिंग डाटा टाइप कैरेक्टर एलिमेंट कॉपी किए जाते हैं।
- मौजूदा स्ट्रिंग डाटा टाइप में नए कैरेक्टर जोड़े जाते हैं।
- पुरानी डाटा टाइप की मौजूदा मेमोरी रिलीज़ की जाती है।
The dynamic memory allocation process is automatic in C++ programming.
C++ प्रोग्रामर को इसे मैन्युअली यूज़ करने की ज़रूरत नहीं है. जैसे डायनामिक मेमोरी एलोकेशन फीचर्स होते है।
- new
- delete
- malloc
- free
String data type size vs. storage capacity.
C++ प्रोग्राम में एक यूजर डिफाइन डिक्लेअर स्ट्रिंग डाटा टाइप में दो इम्पोर्टेन्ट वैल्यू एलिमेंट को होल्ड करते है।
String data type size.
यहाँ डिक्लेअर किए गए स्ट्रिंग डाटा टाइप में स्टोर किए गए comp_name वेरिएबल कैरेक्टर की संख्या। std::string comp_name = “Vcanhelpsu”;
The size of the string comp_name variable.
10
क्योंकि comp_name स्ट्रिंग वेरिएबल में 10 कैरेक्टर डिफाइन हैं।
comp_name.size();
Output return.
10
String data type capacity.
अभी मौजूदा स्ट्रिंग डाटा टाइप में comp_name वेरिएबल कैरेक्टर की रिज़र्व मेमोरी के नम्बर्स है।
Example of string data type capacity.
std::string comp_name = “Vcanhelpsu”;
String data type capacity size.
10
यहाँ डायनामिक मेमोरी एलोकेशन कैपेसिटी हो सकती है.
20
इसका मतलब है कि मौजूदा स्ट्रिंग डाटा टाइप में comp_name वेरिएबल कैरेक्टर स्ट्रिंग मेमोरी को रीएलोकेट करने से पहले 20 कैरेक्टर तक स्टोर और प्रोसेस कर सकती है।
comp_name.capacity();
यह वर्त्तमान में न्यू अभी comp_name वेरिएबल कैरेक्टर स्ट्रिंग को कैपेसिटी वैल्यू को रिटर्न करता है।
String data type variable character access.
C++ प्रोग्रामिंग में यूजर डिफाइन कैरेक्टर स्ट्रिंग डाटा टाइप वेरिएबल एक के बाद एक कॉन्टिनियस सीक्वेंस में स्टोर होते हैं.
std::string comp_name = “Vcanhelpsu”;
यहाँ हम comp_name स्ट्रिंग डाटा टाइप वेरिएबल में इंडिविजुअल अलग-अलग स्ट्रिंग डाटा टाइप कैरेक्टर को एक्सेस कर सकते हैं।
comp_name[0] // V
comp_name[1] // c
comp_name[2] // a
comp_name[3] // n
comp_name[4] // h
comp_name[5] // e
यहाँ स्ट्रिंग डाटा टाइप वेरिएबल इंडेक्सिंग 0 से शुरू होती है।
Safe string data access method.
comp_name.at(4);
यह ऐरे डाटा टाइप ब्लॉक [] के अपोजिट, at() स्ट्रिंग डाटा टाइप की बाउंड्री को चेक करता है।
comp_name.at(100);
यह मौजूदा स्ट्रिंग डाटा टाइप में एक एक्सेप्शन को थ्रो करता है।
String Length Concept in String Data Type.
यहाँ स्ट्रिंग डाटा टाइप में comp_name करैक्टर वेरिएबल लेंथ का मतलब है की मौजूदा प्रोग्राम में डिक्लेअर कैरेक्टर डाटा टाइप एलिमेंट के नंबर्स को डिस्प्ले करता है।
std::string programming = “Java”;
String Length output.
4
यहाँ स्ट्रिंग डाटा टाइप में स्ट्रिंग लेंथ का यूज़ करके पाया गया है.
programming.length();
या
programming.size();
यहाँ C++ प्रोग्रामिंग में दोनों बिल्ट-इन फ़ंक्शन एक ही स्ट्रिंग लेंथ वैल्यू आउटपुट को प्रोवाइड करते हैं।
String Concatenation Concept in String Data Type.
यहाँ स्ट्रिंग डाटा टाइप में डिक्लेअर दो अलग अलग इंडिविजुअल स्ट्रिंग करैक्टर कॉन्कैटनेशन का मतलब है की मौजूदा दो स्ट्रिंग वैल्यू को एक साथ ऐड कर डिस्प्ले करना।
Example of String Concatenation.
std::string comp1 = “Vcanhelpsu”;
std::string comp2 = ” Edtech”;
std::string output = comp1 + comp2;
Result.
Vcanhelpsu Edtech
explanation of String Concatenation.
- यहाँ दोनों स्ट्रिंग डाटा टाइप एक नई स्ट्रिंग को क्रिएट करते है।
- कॉन्कैटनेशन प्रोसेस में दोनों स्ट्रिंग के कैरेक्टर आपस में कॉपी किए जाते हैं।
- दोनों स्ट्रिंग के कॉन्कैटनेशन का ग्रुप आउटपुट इसमें स्टोर किया जाता है।
String Comparison Concept in String Data Type.
यहाँ स्ट्रिंग डाटा टाइप में डिक्लेअर दो अलग अलग इंडिविजुअल स्ट्रिंग करैक्टर स्ट्रिंग्स एलिमेंट वैल्यू की आपस में डायरेक्ट तुलना की जा सकती है।
std::string language1 = “Java”;
std::string language2 = “Python”;
language1 == language2
दोनों स्ट्रिंग करैक्टर में इक्वलिटी को चेक करते है.
language1 < language2
यह दोनों स्ट्रिंग डाटा टाइप को लेक्सिकोग्राफ़िकल कम्पेरिजन (डिक्शनरी ऑर्डर) में कम्पेयर करता है।
स्ट्रिंग डाटा टाइप तुलना में इन वेरिएबल की ASCII/Unicode वैल्यू का यूज़ करके कैरेक्टर बाय कैरेक्टर की जाती है।
Example of String Comparison.
Java < Python
जैसा की यहाँ Java स्ट्रिंग करैक्टर, Python करैक्टर से पहले सीक्वेंस में आता है।
Searching in Strings Concept in String Data Type.
C++ प्रोग्रामिंग में स्ट्रिंग सर्चिंग एक कॉमन ऑपरेशन है, जिसमे आप एक प्रोग्राम में डिक्लेअर किसी पर्टिकुलर वर्ड या कैरेक्टर को फाइंड कर डिस्प्ले कर सकते है।
std::string info = “Vcanhelpsu”;
info.find(“helpsu”);
यहाँ इस एक्साम्प्ल में info स्ट्रिंग तब तक एक के बाद एक सर्च करती रहती है, जब तक की इसे फाइंड सबस्ट्रिंग नहीं मिल जाती है।
आउटपुट।
4
क्योंकि इसमें “helpsu” सर्च टेक्स्ट स्ट्रिंग इंडेक्स 4 लोकेशन से स्टार्ट होती है।
यदि यहाँ स्ट्रिंग में सर्च टेक्स्ट इन्फो नहीं मिला।
std::string::npos
आउटपुट के रूप में रिटर्न होता है।
Substrings Concept in Substrings.
यहाँ स्ट्रिंग डाटा टाइप में डिक्लेअर इंडिविजुअल स्ट्रिंग करैक्टर स्ट्रिंग्स एक सबस्ट्रिंग में एक छोटी स्ट्रिंग होती है. जिसे एक बड़ी स्ट्रिंग से एक्सट्रेक्ट कर डिस्प्ले किया जाता है।
Example of Substrings.
Vcanhelpsu
Substrings extract value.
helpsu
Here, we use the Substrings extract method.
info.substr(4,5);
Meaning in the Substrings extract method.
यहाँ स्ट्रिंग में इंडेक्स 4 लोकेशन से स्टार्ट हो कर.
5 कैरेक्टर से इनपुट लेता है.
Result of the Substrings extract method.
helpsu
Concept of transforming strings in Substrings.
C++ प्रोग्रामिंग आपको किसी स्ट्रींग डाटा टाइप वैल्यू को टांसफॉर्म करने के लिए std::string लाइब्रेरी क्लास को अलाउ करता है.
Insert transforming strings.
एक स्पेसिफिक पोजीशन पर स्ट्रिंग डाटा टाइप में नए कैरेक्टर को ऐड करे।
info.insert(pos, text);
Erase Transforms strings.
एक स्पेसिफिक पोजीशन पर स्ट्रिंग डाटा टाइप में डिजायर कैरेक्टर्स वैल्यू एलिमेंट को रिमूव करे।
info.erase(start, count);
Replace Transforms strings.
एक स्पेसिफिक पोजीशन पर स्ट्रिंग डाटा टाइप में डिजायर कैरेक्टर्स वैल्यू एलिमेंट के एक हिस्से को जरूरत पड़ने पर रिप्लेस करें।
info.replace(start, count, newText);
यहाँ यूजर डिफाइन स्ट्रिंग डाटा टाइप में ये ऑपरेशन ज़रूरत के हिसाब से स्ट्रिंग कैरेक्टर को बदलते हैं।
Null Terminator and the std::string Concept in strings.
C++ प्रोग्रामिंग लैंग्वेज में std::string यूजर डिफाइन स्ट्रिंग में C-स्टाइल स्ट्रिंग्स ‘\0’ वैल्यू पर अपने आप टर्मिनेट होती हैं.
Example of the Null Terminator.
Vcanhelpsu \0
यहाँ इसमें std::string स्ट्रिंग क्लास इस कॉम्प्लेक्सिटी को हाइड करता है।
जैसाकि, C स्ट्रिंग करैक्टर फ़ंक्शन के साथ कम्यूनिकेट करते समय.
str.c_str();
यह एक नल-टर्मिनेटेड कैरेक्टर ऐरे प्रोवाइड करता है।
Example of a Null Terminator.
std::string comp_name = “Vcanhelpsu”;
const char* p = comp_name.c_comp_name();
