English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exp1 ? Exp2 : Exp3;
حيث، Exp1، Exp2 و Exp3 هي معادلات. يرجى ملاحظة استخدام ووضع النقاط السفلية. قيمة ? : تعتمد على نتائج حساب Exp1. إذا كان Exp1 صحيحًا، يتم حساب قيمة Exp2، ويكون ناتج حساب Exp2 هو قيمة تعبير ? : كله. إذا كان Exp1 خطأ، يتم حساب قيمة Exp3، ويكون ناتج حساب Exp3 هو قيمة تعبير ? : كله.
? يُسمى بعملاق الثلاثي، لأنه يحتاج إلى ثلاثة معادلات، يمكن استخدامه بدلاً من جملة if-else كما هو موضح أدناه:
if(condition) { var = X; } else { var = Y; }
على سبيل المثال، انظر إلى هذا الكود أدناه:
if(y < 10) { var = 30; } else { var = 40; }
التعريف التالي للكود يمكن كتابته كالتالي:
var = (y < 10) ? 30 : 40;
في هذا المكان، إذا كان y أقل من 10، يتم تعيين قيمة var إلى 30، وإذا كان y ليس أقل من 10، يتم تعيين قيمة var إلى 40. انظر إلى المثال التالي:
#include <iostream> using namespace std; int main () { // إعلان المتغيرات المحلية int x, y = 10; x = (y < 10) ? 30 : 40; cout << "قيمة x: " << x << endl; return 0; }
عندما يتم تجميع وكود هذا والتنفيذ، سيتم إنتاج النتائج التالية:
قيمة x: 40