جدول المحتويات:
- تطوير تحويل أودل
- وهناك الكثير من التعليمات البرمجية لك لقاء يعتمد على أنواع مخصصة من الصعب متابعة وفهم.إنشاء أودل لتبسيط التعليمات البرمجية يجعل الأمور أكثر وضوحا ويقلل من احتمال حدوث خطأ. يعرض المثال CustomODL02 نوع مخصص، المشغل المستخدم لإنشاء أودل، وكذلك كيفية استخدام أودل لتعريف الحرفي.
- واحدة من الأكثر إثارة للاهتمام ش سيس ل أودلز خلق
فيديو: Writing 2D Games in C using SDL by Thomas Lively 2025
المكتبة القياسية، مقترنة بالميزات المضمنة من C ++، توفر لك مجموعة مثيرة من الحرفية. ومع ذلك، فإن القيمة الحقيقية للحرف تصبح أكثر وضوحا عند إنشاء الخاصة بك.
هناك العديد من الاحتياجات المختلفة التي يمكنك معالجتها باستخدام المعرفات المحددة من قبل المستخدم (أودلز)، ولكن هناك ثلاثة احتياجات مشتركة تدعم تحويلات البيانات، مما يجعل أنواع العرف أسهل للعمل مع، والحصول على الآثار الجانبية المطلوبة دون العدد المعتاد لمشاكل الترميز.
على الرغم من أن النصوص المضمنة أو المكتبة القياسية تأتي في كل من البادئة واللاحقة، يمكنك فقط إنشاء نموذج لاحقة عند تعريف الحرفية الخاصة بك. وبالإضافة إلى ذلك، يجب أن تبدأ لاحقة مع تسطير السفلية. ويساعد تسطير أسفل السطر للمساعدة في منع الصراعات مع اللواحق الموجودة ولضمان أن يعرف المطورون الآخرون أن الحرف الحرفي هو نموذج مخصص (غير قياسي).
تطوير تحويل أودل
من الممكن تغليف التحويلات داخل أودل. كل ما عليك القيام به بمجرد إنشاء مثل أودل هو توفير اللاحقة المناسبة عند تحديد ثابت للحصول على النتيجة التي تريدها. يوضح المثال CustomODL01 تقنية لتحديد التحويل الذي يغير إدخال نصف قطرها إلى منطقة دائرة في ثابت.
# تضمين استخدام مساحة الاسم ستد؛ كونستكسر لونغ دوبل أوبيراتور "_circ (نصف قطر طويل) {ريديت راديوس * راديوس * 3. 141592؛} إنت مين () {دوبل x = 5. 0_circ؛ كوت <<" منطقة الدائرة: "<< x << إندل ؛ ريتورن 0؛}
من أجل إنشاء أودل، يعتمد المثال على كونستكسر مع قيمة إرجاع مزدوجة طويلة وقيمة دخل نصف قطرها من مضاعفة طويلة.إن معادلة حساب منطقة دائرة < >
كلما قمت بإنشاء أودل مخصص، فإن المترجم يجبرك على استخدام أكبر نوع للتحويل.وهذا يعني أنه يجب عليك استخدام مزدوجة طويلة ل الحرفية نقطة عائمة وطويلة طويلة غير موقعة لعدد صحيح الحرفية.حتى لو اخترت في وقت لاحق لاستخدام نوع أصغر، كما هو الحال في هذا على سبيل المثال من خلال إعلان x كقاعدة مزدوجة، يجب أن تستخدم الحرفية نفسها أكبر نوع ممكن.لإعلان أودل من النوع الجديد، يخلق المثال x، الذي يستخدم لاحقة _circ، s النتيجة التي تظهر على الشاشة. عند تشغيل هذا المثال، ترى أن القيمة الصحيحة وضعت في x، كما هو موضح هنا:
منطقة الدائرة هي: 78. 5398
تطوير نوع مخصص أودل
وهناك الكثير من التعليمات البرمجية لك لقاء يعتمد على أنواع مخصصة من الصعب متابعة وفهم.إنشاء أودل لتبسيط التعليمات البرمجية يجعل الأمور أكثر وضوحا ويقلل من احتمال حدوث خطأ. يعرض المثال CustomODL02 نوع مخصص، المشغل المستخدم لإنشاء أودل، وكذلك كيفية استخدام أودل لتعريف الحرفي.
# تضمين استخدام مساحة الاسم ستد؛ ستروكت ميتيب {ميتيب (دوبل إنبوت): فالو (إنبوت) {} دوبل فالو؛}؛ مشغل ميتيب "_mytype (قيمة مزدوجة طويلة) {ريتورن ميتيب (فالو)؛} إنت مين () {أوتو أودلتيب = 145. 6_mytype؛ كوت << أودلتيب. فالو << إندل؛ ريتورن 0؛}
من أجل هذا يجب أن تقوم بإنشاء منشئ لنوعك يقبل عدد المدخلات المطلوبة لتكوين النوع.على الأقل يجب أن يقبل المنشئ نوع واحد أو قيمة الإدخال التي يفقدها المستخدم.
لا تدعم نفس نوع البيانات حجم المطلوب من قبل المشغل، ولكن يجب أن تكون من نفس النوع.على سبيل المثال، لا يمكن نقل مزدوج طويلة إلى إنت.
عند تشغيل هذا المثال، ترى مخرجا قيمة 145. 6، وهي القيمة التي تدخلها إلى النوع المخصص.من الممكن التعامل مع الاجهزة المعقدة إلى حد ما باستخدام هذا النهج.المستخدم من نوع مخصص الخاص بك يحصل على القدرة على إنشاء رمز واضح من السهل أن تتبع وتفسير، حتى عندما أنواع أساسية معقدة.
استخدام أودل مخصص للآثار الجانبية
واحدة من الأكثر إثارة للاهتمام ش سيس ل أودلز خلق
آثار جانبية (عملية أخرى غير العملية المعتادة أو العادية، إما لجعل التطبيق أقصر وأكثر كفاءة أو لتوفير مرونة إضافية). كنت تريد تحديد نوع معين من العملية التي تحدث نتيجة لتعريف الحرفي. ما تحصل عليه لا يزال حرفي، ولكن الحرفي الذي لا يعني بالضرورة قيمة كنت تخطط لاستخدامها لاحقا. يوضح المثال CustomODL03 أحد هذه الاستخدامات غير التقليدية.
# تضمين استخدام مساحة الاسم ستد؛ فواد أوبيراتور "_countdown (قيمة طويلة غير موقعة) {فور (إنت i = فالو؛ i> = 0؛ i--) كوت << i << إندل؛} إنت مين () {10_countdown؛ ريتورن 0؛}
لاحظ أنه لا يتم إرفاق مشغل _countdown بشيء تربطه عادة بقيمة، في الواقع، فإنه لا يعرض قيمة على الإطلاق، ما تحصل عليه بدلا من ذلك هو تأثير جانبي.عندما تقوم بتشغيل هذا المثال، انظر هذا الإخراج.
10 9 8 7 6 5 4 3 2 1 0
ما حدث هو أن المعدي قد حل محل 10_countdown مع تصريحات فردية كوت، واحدة لكل تكرار الحلقة، ما ينتهي بك هو 11 تصريحات كوت التي تنتج القيم بين 10 و 0 (بترتيب عكسي).أثر جانبي أودل يفتح كل أنواع الاحتمالات المثيرة للاهتمام لإنشاء كود يبسط بعض المهام المتكررة بطريقة تجعل استخدامها واضحة.
