C ++ प्रकार रूपांतरण

इस ट्यूटोरियल में, हम उदाहरणों की मदद से C ++ टाइप रूपांतरण की मूल बातें जानेंगे।

C ++ हमें एक प्रकार के डेटा को दूसरे के रूप में परिवर्तित करने की अनुमति देता है। इसे प्रकार रूपांतरण के रूप में जाना जाता है।

C ++ में दो प्रकार के रूपांतरण होते हैं।

  1. अव्यवस्थित रूपांतरण
  2. स्पष्ट रूपांतरण (टाइप कास्टिंग के रूप में भी जाना जाता है)

निहित प्रकार रूपांतरण

कंपाइलर द्वारा स्वचालित रूप से किया जाने वाला टाइप रूपांतरण अंतर्निहित प्रकार रूपांतरण के रूप में जाना जाता है। इस प्रकार के रूपांतरण को स्वचालित रूपांतरण के रूप में भी जाना जाता है।

आइए हम अंतर्निहित प्रकार रूपांतरण के दो उदाहरणों को देखें।

उदाहरण 1: रूपांतरण से इंट टू डबल

 // Working of implicit type-conversion #include using namespace std; int main() ( // assigning an int value to num_int int num_int = 9; // declaring a double type variable double num_double; // implicit conversion // assigning int value to a double variable num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )

आउटपुट

 num_int = 9 num_double = 9

प्रोग्राम में, हमने intएक doubleवैरिएबल को डेटा असाइन किया है ।

 num_double = num_int;

यहाँ, intमान स्वचालित रूप doubleसे संकलक द्वारा रूपांतरित हो जाता है इससे पहले कि इसे num_double चर में सौंपा जाए। यह अंतर्निहित प्रकार रूपांतरण का एक उदाहरण है।

उदाहरण 2: डबल से इंट में स्वचालित रूपांतरण

 //Working of Implicit type-conversion #include using namespace std; int main() ( int num_int; double num_double = 9.99; // implicit conversion // assigning a double value to an int variable num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )

आउटपुट

 num_int = 9 num_double = 9.99

प्रोग्राम में, हमने doubleएक intवैरिएबल को डेटा असाइन किया है ।

 num_double = num_int;

यहां, doubleमूल्य स्वचालित रूप intसे संकलक द्वारा रूपांतरित हो जाता है इससे पहले कि इसे num_int वैरिएबल को सौंपा जाए। यह भी निहित प्रकार रूपांतरण का एक उदाहरण है।

नोट: चूँकि intदशमलव भाग नहीं हो सकता है, दशमलव बिंदु के बाद के अंक उपरोक्त उदाहरण में काट दिए गए हैं।

रूपांतरण के दौरान डेटा हानि (रूपांतरण बदलना)

जैसा कि हमने उपरोक्त उदाहरण से देखा है, एक डेटा प्रकार से दूसरे में रूपांतरण डेटा हानि का खतरा है। यह तब होता है जब बड़े प्रकार का डेटा छोटे प्रकार के डेटा में परिवर्तित हो जाता है।

टाइप रूपांतरण के दौरान संभावित डेटा हानि

सी ++ स्पष्ट रूपांतरण

जब उपयोगकर्ता मैन्युअल रूप से डेटा को एक प्रकार से दूसरे में बदलता है, तो इसे स्पष्ट रूपांतरण के रूप में जाना जाता है । इस प्रकार के रूपांतरण को टाइप कास्टिंग के रूप में भी जाना जाता है ।

तीन प्रमुख तरीके हैं जिनमें हम C ++ में स्पष्ट रूपांतरण का उपयोग कर सकते हैं। वे:

  1. सी-स्टाइल टाइप कास्टिंग (जिसे कास्ट नोटेशन के रूप में भी जाना जाता है )
  2. समारोह संकेतन ( पुराने C ++ शैली प्रकार कास्टिंग के रूप में भी जाना जाता है )
  3. रूपांतरण ऑपरेटर टाइप करें

सी-स्टाइल टाइप कास्टिंग

जैसा कि नाम से पता चलता है, इस प्रकार की कास्टिंग C प्रोग्रामिंग लैंग्वेज की फेवरेट है । इसे कास्ट नोटेशन के रूप में भी जाना जाता है

इस शैली का वाक्य विन्यास है:

 (data_type)expression;

उदाहरण के लिए,

 // initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = (double)num_int;

समारोह शैली कास्टिंग

हम डेटा को एक प्रकार से दूसरे प्रकार में डालने के लिए फ़ंक्शन जैसे नोटेशन का भी उपयोग कर सकते हैं।

इस शैली का वाक्य विन्यास है:

 data_type(expression);

उदाहरण के लिए,

 // initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = double(num_int);

उदाहरण 3: टाइप कास्टिंग

 #include using namespace std; int main() ( // initializing a double variable double num_double = 3.56; cout << "num_double = " << num_double << endl; // C-style conversion from double to int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // function-style conversion from double to int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; )

आउटपुट

 num_double = 3.56 num_int1 = 3 num_int2 = 3

हमने सी शैली प्रकार रूपांतरण और फ़ंक्शन-शैली कास्टिंग दोनों प्रकार के रूपांतरण के लिए उपयोग किया और परिणामों को प्रदर्शित किया। चूंकि वे एक ही कार्य करते हैं, इसलिए दोनों हमें समान आउटपुट देते हैं।

रूपांतरण ऑपरेटर टाइप करें

इन दो प्रकार की कास्टिंगों के अलावा, C ++ में टाइप रूपांतरण के लिए चार ऑपरेटर भी हैं। उन्हें टाइप कन्वर्जन ऑपरेटरों के रूप में जाना जाता है । वे:

  • static_cast
  • dynamic_cast
  • const_cast
  • reinterpret_cast

हम बाद के ट्यूटोरियल में इन जातियों के बारे में जानेंगे।

अनुशंसित ट्यूटोरियल:

  • C ++ स्ट्रिंग int और इसके विपरीत
  • सी ++ स्ट्रिंग फ्लोट करने के लिए, डबल और इसके विपरीत

दिलचस्प लेख...