راي (اكتساب ريسوس هو التهيئة) هو مفهوم البرمجة المستخدمة على نطاق واسع في لغة البرمجة سي programming.
ويستند مفهوم راي على فكرة أن الموارد مثل الذاكرة أو الملفات المفتوحة يجب أن تدار تلقائيا. هذا يعني أن تخصيص الموارد وإصدارها يجب أن يحدث في نفس الجزء من الكود ، وليس منتشرا في جميع أنحاء البرنامج.
المبدأ الأساسي لعملية راي هو أن الكائن المسؤول عن المورد يتم إنشاؤه عند تهيئة الكائن ، ويحدث إطلاقه في المدمر للكائن. وبالتالي ، عندما يخرج كائن من النطاق أو يحدث استثناء ، يتم تدميره تلقائيا ويتم تحرير الموارد التي يمتلكها.
مثال على استخدام راي يمكن أن تظهر من خلال فتح وإغلاق ملف:
الأمراض المنقولة جنسيا:: جيتلاين (م_ملف ، خط);
خط العودة;
- }
- };
- كثافة العمليات الرئيسية () {
ملف ملف ("مثال.النص");
الأمراض المنقولة جنسيا:: خط سلسلة = ملف.قراءة الخط();
ستد:: كوت << خط < < ستد:: إندل;
العودة 0;
}
في هذا المثال ، تقوم فئة الملف بتغليف دفق ملف ولها منشئ يتم فيه فتح الملف ومدمر يتم إغلاقه فيه. نتيجة لذلك ، يمكننا التأكد من أنه سيتم تحرير المورد بشكل صحيح ، حتى في حالة حدوث استثناء أو خروج الوظيفة. بالإضافة إلى ذلك ، توفر فئة الملف طريقة لقراءة سلسلة من ملف.
يضمن هذا النهج التشغيل الآمن للموارد ويحمي من تسرب الذاكرة أو التدمير الضمني للموارد.
ما هو راي?
التعريف والمعنى
أمثلة الاستخدام
سؤال وجواب
ماذا يعني اختصار "راي"?
كيف هو راي مفيدة في البرمجة?
كيف يعمل راي?
ما هي الموارد التي يمكن إدارتها باستخدام راي?
لغات البرمجة التي تدعم راي?
ما هو راي?
راي (اكتساب الموارد هو التهيئة) هو مبدأ البرمجة التي توفر إدارة الموارد التلقائية في ج++. يعتمد هذا المبدأ على فكرة أن الكائن يجب أن يكون مسؤولا عن إدارة الموارد ، وليس المطور.
ويستند مبدأ راي على تهيئة مورد (مثل الذاكرة ، ملف ، اتصال الشبكة ، الخ.) في منشئ الكائن ، وتحرير المورد في مدمر الكائن. وبالتالي ، عندما يخرج كائن من النطاق أو يتم تدميره ، يتم استدعاء مدمره تلقائيا ويتم تحرير المورد. هذا يضمن إدارة آمنة وموثوقة للموارد.
فئات المجمع للعمل مع الملفات واتصالات الشبكة وقواعد البيانات والموارد الأخرى يمكن أن تكون بمثابة أمثلة على استخدام مبدأ راي. على سبيل المثال ، فئة ستد::إفستريم في مكتبة سي standard القياسية يوفر مثل هذا المجمع للعمل مع الملفات. عند إنشاء كائن الأمراض المنقولة جنسيا::إف ستريم файл открывается ، а при уничтожении объекта—..
Ra راي:
# تشمل
# تشمل
ملف فئة {
العامة:
ملف (كونست ستد::سلسلة واسم الملف): م_ملف(اسم الملف) {
الأمراض المنقولة جنسيا:: كوت << "ملف \"" << اسم الملف << "\" فتح."<<الأمراض المنقولة جنسيا:: إندل;
}
الكتابة باطلة (كونست ستد::سلسلة والبيانات) {
خاص:
الأمراض المنقولة جنسيا:: أوفستريم م_ملف;
ملف ملف ("مثال.النص");
ملف.اكتب ("مرحبا ، العالم!");
التعريف والمعنى
راي (اكتساب الموارد هو التهيئة) هو لغة البرمجة المستخدمة في لغات البرمجة مع إدارة الذاكرة التلقائية ، مثل ج++.
جوهر المصطلح راي هو أن الموارد مثل الذاكرة المخصصة ديناميكيا ، والملفات ، ومآخذ ، وما إلى ذلك.، يجب الحصول عليها عند تهيئة الكائن وإصداره تلقائيا عند إتلافه.
استخدام لغة راي له العديد من المزايا. يضمن تحرير الموارد بشكل صحيح ، دون الحاجة إلى إدارة ذاكرة صريحة. كما أنه يساعد على كتابة التعليمات البرمجية الآمنة ، والقضاء على إمكانية تسرب الذاكرة والموارد الأخرى. وبالإضافة إلى ذلك ، فإن المصطلح يسمح لك لزيادة مستوى التجريد وتبسيط التعليمات البرمجية ، والحد من كمية التعليمات البرمجية المتكررة.
في ج++ ، عادة ما يتم تنفيذ لغة راي باستخدام فئة أو هيكل يكتسب الموارد اللازمة في المنشئ ويطلقها في المدمر. يسمح هذا باستخدام ذاكرة المكدس لإدارة الموارد ويضمن إصدارها التلقائي ، حتى في حالة وجود استثناءات أو أخطاء أخرى.
أمثلة الاستخدام
دعونا ننظر في بعض الأمثلة على استخدام فكرة راي في مجالات مختلفة من البرمجة:
إدارة الذاكرة
في لغات البرمجة حيث يتم تنفيذ إدارة الذاكرة يدويا ، راي يسمح لك لتحرير الذاكرة المحتلة تلقائيا عند الخروج من كتلة من التعليمات البرمجية أو عندما يتم تدمير كائن. على سبيل المثال ، في ج++ ، يمكنك استخدام
الأمراض المنقولة جنسيا:: فئة فريدة من نوعها
لإدارة الذاكرة الديناميكية. هذه الفئة تدعو تلقائيا
يحذف
عندما يتم تدمير كائن أو يتم الخروج من كتلة من التعليمات البرمجية.