إدارة الذاكرة في Zig
لا تمتلك Zig مخصص ذاكرة عالمي افتراضي. يجب عليك تمرير مخصص ذاكرة (Allocator) للدوال التي تحتاج لتخصيص الذاكرة. يسمى هذا الإدارة الصريحة للموارد.
zig const std = @import("std");
pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; const allocator = gpa.allocator();
const bytes = try allocator.alloc(u8, 100);
defer allocator.free(bytes);
}
هذا النهج يجعل الأمر واضحاً جداً حول أين وكيف يتم تخصيص الذاكرة.