Junior — Middle
როგორ ხორციელდება მონაცემების შენახვა დინამიკულ მეხსიერებაში (heap)?
sobes.tech AI
პასუხი AI-სგან
დინამიური მეხსიერება (heap) არის მეხსიერების ზონა, სადაც პროგრამა საჭიროებისამებრ გამოყოფს და თავისუფლდებს მეხსიერებას შესრულების დროს.
მონაცემების შენახვა heap-ში ხდება შემდეგნაირად:
- როდესაც მოთხოვნა მეხსიერებაზე (მაგალითად, C-ში malloc-ის ან C++-ში new-ის საშუალებით) ხდება, გამოყოფს საჭირო ზომის ბლოკს.
- მეხსიერება არ არის ორგანიზებული როგორც სტეკი, ამიტომ ობიექტები შეიძლება იყოს განთავსებული ნებისმიერ ადგილას.
- მეხსიერების მართვა ეკისრება პროგრამისტს (შესაბამისი ენებში, სადაც არ არის გარბიჯის კრეტორი) ან გარბიჯის კრეტორს (GC-ით ენებში).
- iOS-ზე, Objective-C ან Swift-ის გამოყენებისას, ობიექტები ჩვეულებრივ გამოყოფილია heap-ში, ხოლო მეხსიერების მართვა ხდება ARC-ის (ავტომატური მითითებების რაოდენობის გამოთვლა) საშუალებით.
Swift-ის მაგალითი:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person = Person(name: "Ivan") // ობიექტი შექმნილია heap-ში