المدى (برمجة الكمبيوتر)
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( December 2006 ) |
في علوم الكمبيوتر ، قد يشير مصطلح النطاق إلى أحد الأشياء الثلاثة:
مدى المتغير
يتم تحديد نطاق المتغير على أنه مجموعة القيم المحتملة التي يمكن أن يحتويها هذا المتغير. في حالة العدد الصحيح، يقتصر تعريف المتغير على الأعداد الصحيحة فقط، وسيغطي النطاق كل رقم ضمن نطاقه (بما في ذلك الحد الأقصى والحد الأدنى). على سبيل المثال، نطاق متغير عدد صحيح مكون من 16 بت هو كل الأعداد الصحيحة من −32,768 إلى +32,767.
مدى المصفوفة
عندما يتم فهرسة المصفوفة رقميًا، يكون نطاقها هو الحد العلوي والسفلي للمصفوفة. اعتمادًا على البيئة، سيحدث تحذير أو استثناء قاتل أو سلوك غير متوقع إذا حاول البرنامج الوصول إلى عنصر مصفوفة خارج النطاق. في بعض لغات البرمجة ، مثل C ، تحتوي المصفوفات على حد أدنى ثابت (صفر) وستحتوي على بيانات في كل موضع حتى الحد العلوي (لذلك فإن المصفوفة التي تحتوي على 5 عناصر سيكون لها نطاق من 0 إلى 4). في لغات أخرى، مثل PHP ، قد تحتوي المصفوفة على ثغرات حيث لا يتم تعريف أي عنصر، وبالتالي فإن المصفوفة التي تحتوي على نطاق من 0 إلى 4 ستحتوي على ما يصل إلى 5 عناصر (وبحد أدنى 2).
المدى كبديل للمكرر
معنى آخر لـ range في علوم الكمبيوتر هو بديل لـ iterator . عند استخدامه بهذا المعنى، يتم تعريف range على أنه "زوج من متكررات البداية/النهاية مجمعة معًا". [1] يُقال [1] أن "النطاقات هي تجريد متفوق" (مقارنةً بالمكررات) لعدة أسباب، بما في ذلك الأمان الأفضل.
على وجه الخصوص، يتم دعم مثل هذه النطاقات في C++20 ، [2] ومكتبات Boost C++ [3] ومكتبة D القياسية. [4]
انظر أيضا
مراجع
- ^ بواسطة Andrei Alexandrescu (6 مايو 2009). "Iterators Must Go" (PDF) . BoostCon 2009 . تم الاسترجاع في 29 يوليو 2014 .
- ^ تفضيلات
- ^ توثيق Boost.Range
- ^ D مكتبة Phobos Runtime وحدة std.range
