LPSTR كيفية تحرير الذاكرة بعد استخدامها
-
18-09-2019 - |
سؤال
لنفترض أن لدي متغير LPSTR. كيف يمكنني تحرير الذاكرة بعد استخدام المتغير. فعلا
LPSTR szFileName = GetSBCSBuffer(sFilePath); // sFilePath is a CString
delete szFileName;
أو
delete []szFileName;
إنصح بلطف
المحلول
إذا تم تخصيص الذاكرة باستخدام new char[SIZE]
ثم يجب تحريرها باستخدام delete []
.
نصائح أخرى
لا يمكنك الإجابة على هذا السؤال دون معرفة تفاصيل GetSebCSBuffer. نأمل كل من كتب الوظيفة تركتك برمز و / أو وثائق حتى تتمكن من معرفة أين تأتي السلسلة من. قد يكون الأمر كذلك أيا من بدائلك صحيحة. ربما استخدم مؤلف GetSebcsBuffer مخصصا آخر للذاكرة أو إرجاع مؤشر إلى موقع داخلي إلى SFILEPATH. في الحالة الأخيرة، سيكون الأمر سيئا للغاية للاتصال بأي موالك.
لقد لاحظت أنك أجبت على السؤال بنفسك في تعليقك إجابة elder_george. وبعد يستخدم التنفيذ جديد [] حتى تحتاج إلى حذف [].
لا تنتمي إلى StackOverflow