Operaتورس في C++أنواع مع أمثلة
⚡ ملخص ذكي
Operaتورس في C++ هي رموز تُجري عمليات على المعاملات، تتراوح بين العمليات الحسابية والمقارنة إلى العمليات المنطقية، وعمليات البت، وعمليات الإسناد. يشرح هذا المورد كل فئة من فئات المعاملات مع برامج أمثلة قابلة للتنفيذ، ومخرجاتها، وقواعد الأسبقية التي تحدد ترتيب التقييم.
ما هي Operaتورس؟
عامل الرمز هو رمز يُستخدم لإجراء عمليات على المعاملات. يعمل المعامل على المعاملات، ويمكن أن تكون هذه العمليات رياضية أو منطقية. توجد أنواع مختلفة من المعاملات في C++ لإجراء عمليات مختلفة.
خذ بعين الاعتبار العملية التالية:
a = x + y;
في البيان أعلاه، x وy هما المتغيران بينما + هو عامل جمع. عندما C++ إذا واجه المترجم العبارة أعلاه، فسوف يضيف x وy ويخزن النتيجة في المتغير a.
انواع من Operaتورس في C++
هناك بشكل رئيسي 6 أنواع مختلفة من المشغلين في C++:
- علم الحساب Operaالاختصاصات
- قصصي Operaالاختصاصات
- منطقي Operaالاختصاصات
- المختصة بالبت Operaالاختصاصات
- مهمة Operaالاختصاصات
- خدمات أخرى Operaالاختصاصات
لنبدأ بعوامل التشغيل الحسابية، وهي الفئة الأكثر استخدامًا.
علم الحساب Operaالاختصاصات
إنها أنواع المشغلات المستخدمة لإجراء العمليات الحسابية/الرياضية. وهي تشمل:
| المُشغل | الوصف |
|---|---|
| + عامل الجمع | يضيف معاملين. |
| - تحتtracعامل التشغيل | فرعيةtracالخبر 2nd متغير من 1st المعامل. |
| * عامل الضرب | ضرب 2 متغيرات. |
| / مشغل قسم | يقسم البسط على المقام. |
| % عامل معامل | إرجاع الباقي بعد القسمة |
| عامل الزيادة ++ | زيادة قيمة عدد صحيح بمقدار 1. |
| — عامل الإنقاص | تقليل قيمة عدد صحيح بمقدار 1. |
فمثلا:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; int c; cout << "a + b is :" << a+b << endl; //11+5 cout << "a - b is :" << a-b << endl; //11-5 cout << "a * b is :" << a*b << endl; //11*5 cout << "a / b is :" << a/b << endl; //11/5 cout << "a % b is :" << a%b << endl; //11%5 cout << "a++ is :" << a++ << endl; //11++ cout << "a-- is :" << a-- << endl; //12-- return 0; }
الإخراج:
فيما يلي لقطة شاشة للكود:
Code التفسير:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الدالة الرئيسية main() التي يجب إضافة منطق البرنامج داخلها. يشير الرمز { إلى بداية جسم الدالة الرئيسية main().
- الإعلان عن متغير صحيح a وتهيئته إلى 11.
- الإعلان عن متغير صحيح b وتهيئته إلى 5.
- الإعلان عن متغير صحيح ج.
- طباعة قيمة العملية a+b بجانب نص آخر على وحدة التحكم.
- طباعة قيمة العملية ab بجانب النصوص الأخرى على وحدة التحكم.
- طباعة قيمة العملية a*b بجانب نص آخر على وحدة التحكم.
- طباعة قيمة العملية a/b بجانب النصوص الأخرى على وحدة التحكم.
- طباعة قيمة العملية a%b بجانب النصوص الأخرى على وحدة التحكم.
- طباعة قيمة العملية a++ بجانب النصوص الأخرى على وحدة التحكم.
- طباعة قيمة العملية أ- إلى جانب النصوص الأخرى على وحدة التحكم.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
قصصي Operaالاختصاصات
تقوم هذه الأنواع من المشغلات بإجراء مقارنات على المتغيرات. على سبيل المثال، قد تحتاج إلى معرفة أي متغير أكبر من الآخر، أو أقل من الآخر. وهي تشمل:
| المُشغل | الوصف |
|---|---|
| == عامل يساوي | التحقق من مساواة قيمتين متغيرتين. |
| != لا يساوي المشغل | يتحقق من عدم تساوي قيمتين من قيم المعاملات. |
| عامل أكبر من > | يتحقق مما إذا كانت قيمة المعامل الأيسر أكبر من قيمة المعامل الأيمن. |
| عامل التشغيل < أصغر من | يتحقق مما إذا كانت قيمة المعامل الأيسر أقل من قيمة المعامل الأيمن. |
| >= أكبر من أو يساوي عامل | يتحقق مما إذا كانت قيمة المعامل الأيسر أكبر من أو تساوي قيمة المعامل الأيمن. |
| عامل التشغيل <= أصغر من أو يساوي | يتحقق مما إذا كانت قيمة المعامل الأيسر أقل من أو تساوي قيمة المعامل الأيمن. |
فمثلا:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; cout << "a=11, b=5" << endl; if (a == b) { cout << "a == b is true" << endl; } else { cout << " a == b is false" << endl; } if (a < b) { cout << "a < b is true" << endl; } else { cout << "a < b is false" << endl; } if (a > b) { cout << "a > b is true" << endl; } else { cout << "a > b is false" << endl; } return 0; }
الإخراج:
فيما يلي لقطة شاشة للكود:
Code التفسير:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها.
- الإعلان عن متغير صحيح a وتهيئته إلى 11.
- الإعلان عن متغير صحيح b وتهيئته إلى 5.
- طباعة بعض النصوص على وحدة التحكم توضح قيم المتغيرات a وb.
- التحقق مما إذا كانت قيمة a تساوي قيمة b باستخدام عبارة if لاتخاذ القرار.
- نص يُطبع على وحدة التحكم إذا كانت العملية a==b صحيحة.
- الجزء else من عبارة if أعلاه، والذي يحدد ما يجب فعله إذا كانت a==b خاطئة.
- نص يُطبع على وحدة التحكم إذا كانت العملية a==b خاطئة.
- التحقق مما إذا كانت قيمة a أقل من قيمة b باستخدام عبارة if.
- نص يُطبع على الشاشة في حال تنفيذ العملية أ
- الجزء "else" الخاص بـ "عندما"
- نص يُطبع على الشاشة في حال تنفيذ العملية أ
- التحقق مما إذا كانت قيمة a أكبر من قيمة b باستخدام عبارة if.
- نص يُطبع على وحدة التحكم إذا كانت العملية a>b صحيحة.
- الجزء "else" خاص بالحالات التي تكون فيها قيمة a>b خاطئة.
- نص يُطبع على وحدة التحكم إذا كانت العملية a>b خاطئة.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
منطقي Operaالاختصاصات
استخدم العوامل المنطقية دمج قيدين/شرطين أو أكثر. كما تُكمّل عوامل التشغيل المنطقية تقييم الشرط الأصلي قيد الدراسة. وتشمل هذه العوامل ما يلي:
| المُشغل | الوصف |
|---|---|
| && عامل الربط المنطقي AND | يكون الشرط صحيحاً إذا كان كلا المعاملين غير صفريين. |
| || عامل التشغيل المنطقي OR | يكون الشرط صحيحًا إذا كان أحد المتغيرات غير صفري. |
| ! عامل النفي المنطقي | يعكس هذا الأمر الحالة المنطقية للمعامل. فإذا كان المعامل صحيحًا، فإن عامل التعجب (!) يجعله خاطئًا. |
فمثلا:
#include <iostream> using namespace std; int main() { int a = 5, b = 2, c = 6, d = 4; if (a == b && c > d) cout << "a equals to b AND c is greater than d\n"; else cout << "AND operation returned false\n"; if (a == b || c > d) cout << "a equals to b OR c is greater than d\n"; else cout << "Neither a is equal to b nor c is greater than d\n"; if (!b) cout << "b is zero\n"; else cout << "b is not zero"; return 0; }
الإخراج:
فيما يلي لقطة شاشة للكود:
Code التفسير:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها.
- يمثل { بداية نص الوظيفة الرئيسية ().
- تعريف 4 متغيرات عددية صحيحة a و b و c و d وتعيين قيم مختلفة لها.
- باستخدام عامل الربط "و" (&&) داخل عبارة "if"، يتم الربط بين شرطين. الشرط الأول خاطئ والثاني صحيح، لذا فإن "خطأ && صحيح" تعني "خطأ"؛ وبالتالي فإن نتيجة عبارة "if" هي "خطأ".
- نص يُطبع على وحدة التحكم إذا كانت عبارة if أعلاه صحيحة. لن يتم تنفيذ هذا.
- الجزء الذي سيتم تنفيذه إذا كانت عبارة if المذكورة أعلاه خاطئة.
- النص المطلوب طباعته على وحدة التحكم إذا كانت عبارة if خاطئة. سيتم تنفيذ هذا.
- باستخدام عامل التشغيل || (أو) داخل عبارة if. الشرط الأول خاطئ والثاني صحيح، لذا فإن false||true تعني صحيح؛ نتيجة if هي صحيح.
- النص الذي سيُطبع على وحدة التحكم إذا كانت عبارة if أعلاه صحيحة. سيتم تنفيذ هذا.
- الجزء الذي سيتم تنفيذه إذا كانت عبارة if المذكورة أعلاه خاطئة.
- النص المطلوب طباعته على وحدة التحكم إذا كانت عبارة if خاطئة. لن يتم تنفيذ هذا.
- التحقق مما إذا كانت قيمة المتغير b تساوي 0.
- نص يُطبع على وحدة التحكم إذا كانت عبارة if أعلاه صحيحة. لن يتم تنفيذ هذا.
- الجزء الذي سيتم تنفيذه إذا كانت عبارة if المذكورة أعلاه خاطئة.
- النص المطلوب طباعته على وحدة التحكم إذا كانت عبارة if خاطئة. سيتم تنفيذ هذا.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
المختصة بالبت Operaالاختصاصات
عوامل تشغيل Bitwise تُجرى عمليات على مستوى البتات على المعاملات. أولاً، تُحوّل المعاملات إلى مستوى البتات، ثم تُجرى العمليات. عند إجراء عمليات حسابية مثل الجمع والطرح،tracتُجرى العمليات على مستوى البت، مما يُتيح تحقيق النتائج بشكل أسرع. وتشمل هذه العمليات ما يلي:
| المُشغل | الوصف |
|---|---|
| & (عملية AND الثنائية) | تأخذ هذه الدالة عددين (معاملين) ثم تُجري عملية AND على كل بت من العددين. إذا كان كلاهما يساوي 1، فإن AND تُرجع 1، وإلا فإنها تُرجع 0. |
| | (أو بت) | تأخذ هذه الدالة رقمين (معاملين) ثم تُجري عملية "أو" على كل بت من الرقمين. تُرجع الدالة القيمة 1 إذا كان أحد البتات يساوي 1. |
| ^ (عملية XOR الثنائية) | تأخذ هذه الدالة رقمين (معاملين) ثم تُجري عملية XOR على كل بت من الرقمين. وتُرجع القيمة 1 إذا كان كلا البتين مختلفين. |
| << (تحول إلى اليسار) | تأخذ هذه الدالة رقمين ثم تقوم بإزاحة بتات المعامل الأول إلى اليسار. ويحدد المعامل الثاني إجمالي عدد الخانات التي سيتم إزاحتها. |
| >> (التحول إلى اليمين) | تأخذ هذه الدالة رقمين ثم تقوم بإزاحة بتات المعامل الأول إلى اليمين. ويحدد المعامل الثاني عدد الخانات التي سيتم إزاحتها. |
| ~ (نفي ثنائي) | يأخذ رقمًا ثم يعكس جميع بتاته. |
#include <iostream> using namespace std; int main() { unsigned int p = 60; // 60 = 0011 1100 unsigned int q = 13; // 13 = 0000 1101 int z = 0; z = p & q; cout << "p&q is : " << z << endl; // 12 = 0000 1100 z = p | q; cout << "p|q is : " << z << endl; // 61 = 0011 1101 z = p ^ q; cout << "p^q is : " << z << endl; // 49 = 0011 0001 z = ~p; cout << "~p is : " << z << endl; // -61 = 1100 0011 z = p << 2; cout << "p<<2 is: " << z << endl; // 240 = 1111 0000 z = p >> 2; cout << "p>>2 is : " << z << endl; // 15 = 0000 1111 return 0; }
الإخراج:
فيما يلي لقطة شاشة للكود:
Code التفسير:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها.
- تعريف متغير عدد صحيح غير موقع p وتعيين قيمة له 60، وهو 0011 1100 بالثنائي.
- تعريف متغير عدد صحيح غير موقع q وتعيين قيمة له 13، وهو 0000 1101 بالنظام الثنائي.
- الإعلان عن متغير عدد صحيح z وتهيئته إلى 0.
- إجراء عملية & (AND) على المتغيرين p وq وتخزين النتيجة في المتغير z.
- طباعة نتيجة العملية أعلاه على وحدة التحكم إلى جانب نص آخر.
- إجراء عملية البت | (OR) على المتغيرين p وq وتخزين النتيجة في المتغير z.
- طباعة نتيجة العملية أعلاه على وحدة التحكم إلى جانب نص آخر.
- إجراء عملية ^ (XOR) على المتغيرين p وq وتخزين النتيجة في المتغير z.
- طباعة نتيجة العملية أعلاه على وحدة التحكم إلى جانب نص آخر.
- إجراء عملية ~ (NOT) على المتغير p وتخزين النتيجة في المتغير z.
- طباعة نتيجة العملية أعلاه على وحدة التحكم إلى جانب نص آخر.
- إجراء عملية الإزاحة لليسار على المتغير p وتخزين النتيجة في المتغير z.
- طباعة نتيجة العملية أعلاه على وحدة التحكم إلى جانب نص آخر.
- إجراء عملية الإزاحة لليمين على المتغير p وتخزين النتيجة في المتغير z.
- طباعة نتيجة العملية أعلاه على وحدة التحكم إلى جانب نص آخر.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
مهمة Operaالاختصاصات
مشغلات التعيين يتم تعيين قيم للمتغيرات. يُضاف المعامل/المتغير إلى الجانب الأيسر من العملية، بينما تُضاف القيمة إلى الجانب الأيمن. يجب أن ينتمي المتغير والقيمة إلى نفس نوع البيانات، وإلا... C++ سيُصدر المُترجم خطأً.
فمثلا:
x = 5;
في المثال أعلاه، x هو المتغير/المعامل، و= هو عامل التخصيص، بينما 5 هي القيمة. فيما يلي عوامل التخصيص الشائعة في C++:
| المُشغل | الوصف |
|---|---|
| = (عامل التعيين البسيط) | يقوم بتعيين القيمة الموجودة على اليمين للمتغير الموجود على اليسار. |
| += (إضافة عامل التعيين AND) | يقوم بإضافة قيمة المتغير الأيمن إلى المتغير الأيسر، ثم يقوم بتعيين النتيجة للمتغير الموجود على اليسار. |
| -= (الطرحtrac(عامل التخصيص AND) | فرعيةtracيقوم باستخراج قيمة المعامل الأيمن من المعامل الأيسر، ثم يقوم بتعيين النتيجة إلى المتغير الموجود على اليسار. |
| *= (عامل التعيين ضرب AND) | يقوم بضرب قيمة المتغير الأيسر بالمتغير الأيمن، ثم يقوم بتعيين النتيجة للمتغير الموجود على اليسار. |
| /= (عامل القسمة والتعيين) | يقوم بتقسيم قيمة المتغير الأيسر على المتغير الأيمن، ثم يقوم بتعيين النتيجة للمتغير الموجود على اليسار. |
فمثلا:
#include <iostream> using namespace std; int main() { int x = 5; cout << "Initial value of x is " << x << "\n"; x += 5; cout << "x += 5 gives :" << x << "\n"; x -= 5; cout << "x -= 5 gives : " << x << "\n"; x *= 5; cout << "x *= 5 gives :" << x << "\n"; x /= 5; cout << "x /= 5 gives : " << x << "\n"; return 0; }
الإخراج:
فيما يلي لقطة شاشة للكود:
Code التفسير:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها.
- يمثل { بداية نص الوظيفة الرئيسية ().
- الإعلان عن متغير صحيح x وتعيينه بقيمة 5.
- طباعة قيمة المتغير x بجانب نص آخر على وحدة التحكم. \n هو حرف سطر جديد.
- إضافة 5 إلى قيمة المتغير x وتعيين النتيجة للمتغير x.
- طباعة قيمة المتغير x على وحدة التحكم بجانب النصوص الأخرى.
- فرعيةtracاطرح 5 من قيمة x وقم بتعيين النتيجة للمتغير x.
- طباعة قيمة المتغير x على وحدة التحكم بجانب النصوص الأخرى.
- ضرب قيمة المتغير x في 5 وتعيين النتيجة للمتغير x.
- طباعة قيمة المتغير x على وحدة التحكم بجانب النصوص الأخرى.
- قسمة قيمة المتغير x على 5 وتعيين النتيجة للمتغير x.
- طباعة قيمة المتغير x على وحدة التحكم بجانب النصوص الأخرى.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
خدمات أخرى Operaالاختصاصات
خدمات أخرى Operaالاختصاصات يتضمن حجم عامل التشغيل، الفاصلة Operaتور، مشروط Operaتور، و Operaأولوية المعاملات. دعونا نناقش المعاملات الأخرى التي يدعمها C++:
عامل حجم
يُحدد هذا المعامل حجم المتغير. استخدم معامل sizeof لتحديد حجم نوع البيانات.
فمثلا:
#include <iostream> using namespace std; int main() { cout<<"Size of int : "<< sizeof(int) << "\n"; cout<<"Size of char : " << sizeof(char) << "\n"; cout<<"Size of float : " << sizeof(float) << "\n"; cout<<"Size of double : " << sizeof(double) << "\n"; return 0; }
الإخراج:
فيما يلي لقطة شاشة للكود:
Code التفسير:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها.
- تحديد حجم نوع البيانات العددية الصحيحة باستخدام عامل التشغيل sizeof وطباعته بجانب نص آخر على وحدة التحكم.
- تحديد حجم نوع بيانات الأحرف باستخدام عامل التشغيل sizeof وطباعته بجانب النصوص الأخرى على وحدة التحكم.
- تحديد حجم نوع البيانات العشري باستخدام عامل التشغيل sizeof وطباعته بجانب نص آخر على وحدة التحكم.
- تحديد حجم نوع البيانات المزدوجة باستخدام عامل التشغيل sizeof وطباعته بجانب نص آخر على وحدة التحكم.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
فاصلة Operaتور
استخدم عامل الفاصلة يُفعّل الفاصلة (,) تنفيذ سلسلة من العمليات. يُعبّر عن المعامل الأول ويتجاهل النتيجة. ثم يُقيّم المعامل الثاني ويعيد قيمته ونوعه.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
الإخراج:
فيما يلي لقطة شاشة للكود:
Code التفسير:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها.
- الإعلان عن متغيرين صحيحين x و y.
- تعيين المتغير ya بقيمة 100.
- باستخدام عامل الفاصلة. تبدأ العملية بقيمة y عند 100، ثم تزيدها إلى 101 (y++). بعد ذلك، تُضاف قيمة y إلى 10. وأخيرًا، تُضاف قيمة y، التي لا تزال عند 101، إلى 99، لتصبح 200. وتصبح قيمة x الآن 200.
- طباعة قيمة المتغير x على وحدة التحكم.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
مشروط Operaتور
يقوم هذا المشغل بتقييم الحالة ويتصرف بناءً على نتيجة التقييم.
بناء الجملة:
Condition ? Expression2 : Expression3;
المعلمات:
- الشرط هو الشرط الذي سيتم تقييمه.
- التعبير الثاني هو التعبير الذي سيتم تنفيذه إذا كان الشرط صحيحًا.
- التعبير رقم 3 هو التعبير الذي سيتم تنفيذه إذا كان الشرط خاطئًا.
فمثلا:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
الإخراج:
فيما يلي لقطة شاشة للكود:
Code التفسير:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها.
- التصريح باثنين متغيرات الأعداد الصحيحة أ و ب. تم تعيين المتغير a بقيمة 1.
- إسناد قيمة للمتغير b. إذا كان المتغير a أقل من 10، فسيتم إسناد القيمة 2 إلى b، وإلا فسيتم إسناد القيمة 5 إلى b.
- طباعة قيمة المتغير b على وحدة التحكم بجانب النصوص الأخرى.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
Operaأسبقية تورس
قد يكون للعملية الواحدة أكثر من عامل واحد. في هذه الحالة، تحدد أولوية العامل العامل الذي يتم تقييمه أولاً.
تظهر القائمة التالية أولوية المشغلين في C++، مع تناقص الأسبقية من اليسار إلى اليمين:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=














