Junior — Middle
როდის შეიძლება ითქვას, რომ ობიექტი ან სტრუქტურა მეხსიერების სტეკში არ არის?
sobes.tech AI
პასუხი AI-სგან
Объект বা কাঠামো ডাইনামিকভাবে বরাদ্দ করা হলে বা দীর্ঘস্থায়ী জীবনকাল থাকে যা কার্যকারিতা সময়ের চেয়ে বেশি, তখন তারা স্মৃতি স্ট্যাকের মধ্যে থাকে না।
iOS-এ (এবং সাধারণত Swift/Objective-C-এ):
- স্থানীয় পরিবর্তনশীল এবং কাঠামো সাধারণত স্ট্যাকে রাখা হয়।
- ক্লাসের অবজেক্ট (রেফারেন্স টাইপ) হিপে বরাদ্দ করা হয়, এবং স্ট্যাকে কেবল তাদের জন্য একটি রেফারেন্স সংরক্ষিত হয়।
- যদি একটি অবজেক্ট
alloc/initএর মাধ্যমে Objective-C-এ বাclassএর মাধ্যমে Swift-এ তৈরি হয়, তবে এটি হিপে রাখা হয়।
Swift-এ উদাহরণ:
func উদাহরণ() {
স্থানীয় কাঠামো = MyStruct() // স্ট্যাকে
অবজেক্ট = MyClass() // হিপে, স্ট্যাকে রেফারেন্স
}
অতএব, যদি একটি পরিবর্তনশীল ক্লাসের অবজেক্টের জন্য একটি রেফারেন্স হয়, তবে অবজেক্টটি নিজে স্ট্যাকে নয়, হিপে অবস্থিত।