الدالة هي كالتالي
func alloc(pointer: ptr, size: Int): Void {
pointer = Memory.alloc(size)~cast[ptr];
};
طريقة الاستخدام هكذا
def var: ptr[array[Char]];
alloc(var, 5);
String.assign(var, "Hello");
بدل التالي
def var: ptr[array[Char]] = Memory.alloc(5)~cast[ptr[array[Char]]];
String.assign(var, "Hello");
كي يعمل هذا الاقتراح يجب على الدالة أن تستقبل مؤشرًا على مؤشر كي تتمكن من تغيير قيمة المؤشر، أي تكون كالتالي:
func alloc(pointer: ptr[ptr], size: Int): Void {
pointer~cnt = Memory.alloc(size)~cast[ptr];
};
.
.
Memory.alloc(var~ptr, 5)
إعجاب واحد (1)
نعم صحيح، هل تتوقع انا سوف تساعد ام لا
أظنها ستساعد كحل مؤقت لحين إكمال البرمجة الكائنية التي ستسهل التعامل مع الذاكرة.