לדלג לתוכן

8.9 - השלמות קלט ופלט ובעלות בבאפר - תרגול

תרגול בעלות עד השלמה

תרגיל ראשון

הרחיבו את ניסוי הפעולה הריקה לארבע בקשות עם מזהים שונים. אספו את כל ההשלמות לתוך קבוצה ובדקו שכל מזהה הופיע פעם אחת. אל תניחו שהסדר שבו נאספו הוא חוזה כללי של פעולות עצמאיות.

תרגיל שני

בנו מודל של פעולה עם באפר ומצב ביטול. הזינו תחילה אישור לבקשת הביטול ורק אחר כך השלמה של הפעולה המקורית. בדקו שהבאפר אינו משוחרר בין שני האירועים. הריצו גם את הסדר ההפוך.

תרגיל שלישי

הסבירו מדוע שמירת מצביע לתוך Vec אינה מספיקה אם הקוד עדיין רשאי לבצע push על הווקטור בזמן פעולה חיצונית. הציעו ממשק בעלות שמונע את הבעיה, והסבירו מדוע קיבוע המעטפת לבדו אינו בהכרח מקבע את הקצאת האיברים של כל מכולה.