לדלג לתוכן

2.5 - אלגוריתמים טווחים ותצוגות - תרגול

תרגול - תוצאה עצלה ותוצאה עצמאית

כתבו פונקציה שמקבלת span של intים ומחזירה vector של כל המספרים החיוביים מוכפלים בשתיים. השתמשו ב־filter וב־transform ליצירת pipeline, ואז ממשו את התוצאה במכולה עצמאית. הגבילו את קלט הבדיקה לטווח שבו הכפל אינו גולש.

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

השוואה תקינה

מיינו רשומות עם שדה priority ושדה id באמצעות projection. צרו שתי רשומות בעלות אותה עדיפות, והסבירו אם האלגוריתם שבחרתם מבטיח את הסדר היחסי שלהן.

בדיקת חיים

בנו בדיקת קומפילציה שמראה ש־ranges::find על vector זמני מחזיר dangling. הסבירו למה חיפוש על span זמני הוא מצב אחר מבחינת חיי אובייקט התצוגה, אבל עדיין תלוי בבעלים של הנתונים.