كيف يمكنني إدارة الذاكرة لميزة كتلة C؟ (امتداد التفاح)
-
29-09-2019 - |
سؤال
قدمت Apple إغلاقًا في C كاسم "Block". هل يجب أن أدير الذاكرة للكتل؟ إذا كان الأمر كذلك ، ماذا علي أن أفعل؟
المحلول
مثل المتغيرات ذات نطاق الوظيفة في Clain C ، فإن الكتل الحرفية في الوظائف لها مدة تخزين تلقائية. عندما تفكر في كتلة حرفية كنوع مؤشر ، ترى ما يمكن أن يحدث: عندما تقوم بإرجاع كتلة من وظيفة تقوم بإرجاع مؤشر إلى الذاكرة المحلية ، والتي لم تعد صالحة.
الحل هو استخدام Block_copy()
الوظيفة كلما أردت إرجاع كتلة و Block_release()
عندما لم تعد بحاجة إليها.
مزيد من المعلومات في هذا البرنامج التعليمي يحتوي على قسم منفصل على الكتل في C.
لا تنتمي إلى StackOverflow