سؤال

أقوم حاليًا بإنشاء برنامج في QT و OpenCV و Mac OS X. لدي نافذة رئيسية ، ثم نافذة منفصلة مفتوحة. أقوم بتمرير النافذة الجديدة عدة استنساخ مصفوفة في المُنشئ:

ImageWindow *imageWin = new ImageWindow( 
   cvCloneMat(getData->getMasterRawMat(1)), 
   cvCloneMat(getData->getMasterRawMat(2)), 
   cvCloneMat(getData->getMasterRawMat(3)), 
   cvCloneMat(getData->getMasterRawMat(4)) );
imageWin->show();

كيف يمكنني تخصيص (أين أدعو cvreleasemat) ، عندما تكون النافذة الجديدة مغلقة؟

هل كانت مفيدة؟

المحلول

يمكنك القيام بذلك على سبيل المثال الخاص بك CloseEvent (). بدلاً من ذلك ، إذا كنت تستخدم qt :: wa_deleteonclose من اجلك سمات القطعة, ، سيتم حذف القطعة عند إغلاقها ، مما يعني أنه يمكنك وضع بعض إجراءات التنظيف في المدمر.

نصائح أخرى

فكر في استخدام raii المصطلح و مؤشرات ذكية ولن تحتاج إلى تذكر وقت إطلاق الذاكرة المخصصة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top