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

C++ में टर्नरी ऑपरेटर (? X : Y)


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

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

उदाहरण

#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# में टर्नरी ऑपरेटर (?:) - सशर्त ऑपरेटर

    परिचय टर्नरी ऑपरेटर ?: एकमात्र तीन-ऑपरेंड ऑपरेटर है: condition ? trueExpr : falseExpr। शर्त true हो तो पहला एक्सप्रेशन, वरना दूसरा। उदाहरण 10 ? (x < 20 ? 1 : 2) : 3; Console.ReadLine(); } } } नियम दोनों एक्सप्रेशंस का टाइप संगत होना चाहिए (या एक-दूसरे में इम्प्लिसिट कन्

  1. - C# में Ternary Operator (टर्नरी ऑपरेटर / कंडीशनल ऑपरेटर)

    C# में टर्नरी ऑपरेटर ?: टर्नरी ऑपरेटर एकमात्र ऑपरेटर है जो **तीन ऑपरेंड्स** लेता है। यह एक संक्षिप्त if-else एक्सप्रेशन है जो एक वैल्यू लौटाता है। सिंटैक्स condition ? expression_if_true : expression_if_false कैसे काम करता है condition का मूल्यांकन होता है (बूलियन)। true होने पर expression_if_tru