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

C++ में कंडीशनल टर्नरी ऑपरेटर ( ?: )


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

  • पहला ऑपरेंड अंतर्निहित रूप से 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# में Ternary Operator (टर्नरी ऑपरेटर / कंडीशनल ऑपरेटर)

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

  1. - C# में टर्नरी ऑपरेटर (Ternary Operator)

    टर्नरी ऑपरेटर C# में एक कंडीशनल ऑपरेटर है। यह तीन आर्गुमेंट्स लेता है और एक बूलियन एक्सप्रेशन का मूल्यांकन करता है।उदाहरण के लिए:b = (a == 1) ? 20 : 30;उपरोक्त, यदि पहला ऑपरेंड true (1) मूल्यांकन करता है, तो दूसरा ऑपरेंड मूल्यांकन किया जाता है। यदि पहला ऑपरेंड false (0) मूल्यांकन करता है, तो तीसरा ऑ

  1. - पायथन में टर्नरी ऑपरेटर

    पायथन का टर्नरी ऑपरेटर (सशर्त अभिव्यक्ति) एक लाइन में शर्त के आधार पर मान चुनने की अनुमति देता है। सिंटैक्स [on_true] if [condition] else [on_false] बुनियादी उदाहरण y else y) # y फ़ंक्शन में उपयोग b else b print(find_max(5, 6)) # 6 वैकल्पिक कार्यान्वयन टपल इंडेक्सिंग b]) # b:6 डिक्शनरी