Lifetimes in Data Structures
اگر یک تایپ داده دادههای قرضی را ذخیره کند، باید با یک طول عمر مشخص شود:
Speaker Notes
This slide should take about 5 minutes.
- در مثال بالا، حاشیهنویسی بر روی
Highlight
تضمین میکند که دادههای زیرینstr&
به مدت حداقل برابر با هر نمونه ازHighlight
که از آن داده استفاده میکند، زنده بماند. - اگر
text
قبل از پایان عمرfox
(یاdog
) مصرف شود، بررسیکنندهی قرض (borrow checker) خطا میدهد. - تایپهای دارای دادههای قرضی (borrowed data) کاربران را مجبور میکنند تا دادههای اصلی را نگه دارند. این میتواند برای ایجاد نمایههای سبک مفید باشد، اما معمولاً استفاده از آنها را تا حدی دشوارتر میکند.
- در صورت امکان، دادههای ساختارها را به طور مستقیم مالکیت کنید.
- برخی از ساختارهای داده که شامل چندین ارجاع هستند، ممکن است نیاز به چندین نشانهگذاری عمر داشته باشند. این امر میتواند ضروری باشد اگر بخواهید روابط عمری بین ارجاعات مختلف را به علاوه عمر ساختار خود توصیف کنید. این موارد بسیار پیشرفته هستند.