الأسبقية والترابط في البرمجة
في البرمجة، يعد ترتيب العمليات أمرًا بالغ الأهمية لتقييم التعبيرات بشكل صحيح. تلعب أسبقية عامل التشغيل والترابط دورًا حاسمًا في تحديد هذا الترتيب.
من الذي يحدد أسبقية عامل التشغيل والترابط؟
يحدد معيار لغة البرمجة المحددة أسبقية عامل التشغيل والترابط . بالنسبة لـ C وC، يمكن العثور على هذه التعريفات في قواعد اللغة المعنية.
كيف يتم تحديد أسبقية عامل التشغيل؟
تحدد أسبقية عامل التشغيل تجميع عوامل التشغيل بناءً على أولوية. يتم تقييم عوامل التشغيل ذات الأسبقية الأعلى قبل تلك ذات الأسبقية الأقل. يتم تعريف هذا التسلسل الهرمي ضمن قواعد اللغة.
كيف يتم تعريف الترابط؟
يحدد الترابط كيفية تجميع الاستخدامات المتجاورة لنفس العامل. على سبيل المثال، إذا كان العامل مرتبطًا من اليسار إلى اليمين، فإن الاستخدامات المجاورة لهذا العامل ترتبط من اليسار إلى اليمين. هذه القاعدة مشتقة أيضًا من قواعد اللغة.
العلاقة بترتيب التقييم
لا تتحكم أسبقية عامل التشغيل والترابط بشكل مباشر في ترتيب التقييم لاستدعاءات الوظائف. يتطلب المعيار فقط أن يتم تقييم معاملات المشغل قبل المشغل نفسه.
ترابط الوظائف من اليسار إلى اليمين
الاعتقاد بأن الوظائف يتم تقييمها دائمًا من اليسار إلى اليمين ليست دقيقة تماما. في حين أن بعض العوامل، مثل عامل استدعاء الوظيفة، لديها ارتباط من اليسار إلى اليمين، فإن هذا لا يحدد الترتيب الذي يتم به تقييم استدعاءات الوظيفة.تأثير الترابط
خذ بعين الاعتبار المثال f1() f2() * f3(). العامل * له أسبقية أعلى من العامل، لذا يتم تجميع التعبير كـ f1() (f2() * f3()). ومع ذلك، لم يتم تحديد ترتيب تقييم استدعاءات الوظائف عن طريق الترابط.اعتبارات التسلسل الأخرى
يمكن لعوامل محددة فرض قيود التسلسل على تقييم المعامل. على سبيل المثال، في x || يتم تقييم y وx دائمًا قبل y. وهذا يسمح بسلوكيات قصر الدائرة.
السياق التاريخي
تم استخدام نقاط التسلسل مسبقًا في C و C لتحديد ترتيب التقييم. ومع ذلك، فقد اعتمدت المعايير الحديثة مفهوم العلاقات "المتسلسلة من قبل" لوصف هذا السلوك.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3