Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में टर्नरी ऑपरेटर (? X :Y) क्या है?


सशर्त ऑपरेटर (? :) एक टर्नरी ऑपरेटर है (इसमें तीन ऑपरेंड लगते हैं)। सशर्त ऑपरेटर निम्नानुसार काम करता है -

  • पहला ऑपरेंड पूरी तरह से बूल में बदल जाता है। इसका मूल्यांकन किया जाता है और जारी रखने से पहले सभी दुष्प्रभावों को पूरा किया जाता है।
  • यदि पहला ऑपरेंड सत्य (1) का मूल्यांकन करता है, तो दूसरे ऑपरेंड का मूल्यांकन किया जाता है।
  • यदि पहला ऑपरेंड गलत (0) का मूल्यांकन करता है, तो तीसरे ऑपरेंड का मूल्यांकन किया जाता है।
  • सशर्त ऑपरेटर का परिणाम जो भी ऑपरेंड का मूल्यांकन किया जाता है उसका परिणाम होता है - दूसरा या तीसरा। सशर्त अभिव्यक्ति में अंतिम दो ऑपरेंड में से केवल एक का मूल्यांकन किया जाता है। सशर्त ऑपरेटर का मूल्यांकन बहुत जटिल है। ऊपर दिए गए चरण इसका एक त्वरित परिचय मात्र थे। सशर्त अभिव्यक्तियों में दाएं से बाएं सहयोगीता होती है। पहला ऑपरेंड इंटीग्रल या पॉइंटर टाइप का होना चाहिए।
  • निम्न नियम दूसरे और तीसरे ऑपरेंड पर लागू होते हैं -
    • यदि दोनों ऑपरेंड एक ही प्रकार के हैं, तो परिणाम उस प्रकार का होता है।
    • यदि दोनों ऑपरेंड अंकगणित या गणना प्रकार के हैं, तो सामान्य अंकगणित
  • रूपांतरण (मानक रूपांतरणों में शामिल) उन्हें एक सामान्य प्रकार में बदलने के लिए किया जाता है।
  • यदि दोनों ऑपरेंड सूचक प्रकार के हैं या यदि एक सूचक प्रकार है और दूसरा एक स्थिर व्यंजक है जो 0 का मूल्यांकन करता है, तो सूचक रूपांतरण उन्हें एक सामान्य प्रकार में बदलने के लिए किया जाता है।
  • यदि दोनों ऑपरेंड संदर्भ प्रकार के हैं, तो उन्हें एक सामान्य प्रकार में बदलने के लिए संदर्भ रूपांतरण किए जाते हैं।
  • यदि दोनों ऑपरेंड शून्य प्रकार के हैं, तो सामान्य प्रकार शून्य है।
  • यदि दोनों ऑपरेंड एक ही उपयोगकर्ता-परिभाषित प्रकार के हैं, तो सामान्य प्रकार वह प्रकार है।
  • यदि ऑपरेंड के विभिन्न प्रकार हैं और कम से कम एक ऑपरेंड में उपयोगकर्ता-परिभाषित प्रकार है तो सामान्य प्रकार को निर्धारित करने के लिए भाषा नियमों का उपयोग किया जाता है। (नीचे चेतावनी देखें।)

उदाहरण

#include <iostream>  
using namespace std;  
int main() {  
   int i = 1, j = 2;  
   cout << ( i > j ? i : j ) << " is greater." << endl;  
}

आउटपुट

यह आउटपुट देगा -

2 is greater.

  1. C++ में टाइप क्वालिफायर क्या हैं?

    टाइप क्वालिफायर एक ऐसा कीवर्ड है जो एक टाइप पर लागू होता है, जिसके परिणामस्वरूप एक क्वालिफाइड टाइप होता है। उदाहरण के लिए, const int एक योग्य प्रकार है जो निरंतर पूर्णांक का प्रतिनिधित्व करता है, जबकि int संबंधित अयोग्य प्रकार है, बस एक पूर्णांक है। टाइप क्वालिफायर टाइप सिस्टम के माध्यम से मूल्य के

  1. सी # में टर्नरी ऑपरेटर क्या है?

    टर्नरी ऑपरेटर C# में एक सशर्त ऑपरेटर है। यह तीन तर्क लेता है और एक बूलियन अभिव्यक्ति का मूल्यांकन करता है। उदाहरण के लिए - y = (z == 1) ? 100 : 180; ऊपर, यदि पहला ऑपरेंड सत्य (1) का मूल्यांकन करता है, तो दूसरे ऑपरेंड का मूल्यांकन किया जाता है। यदि पहला ऑपरेंड असत्य (0) का मूल्यांकन करता है, तो तीस

  1. सी # में टर्नरी ऑपरेटर/सशर्त ऑपरेटर क्या है?

    टर्नरी ऑपरेटर सी # में एक सशर्त ऑपरेटर है। यह तीन तर्क लेता है और एक बूलियन अभिव्यक्ति का मूल्यांकन करता है। उदाहरण के लिए - y = (x == 1) ? 70 : 100; ऊपर, यदि पहला ऑपरेंड सत्य (1) का मूल्यांकन करता है, तो दूसरे ऑपरेंड का मूल्यांकन किया जाता है। यदि पहला ऑपरेंड असत्य (0) का मूल्यांकन करता है, तो ती