לדלג לתוכן

2.6 - ייצוג מצב ופעולות בספרייה - תרגול

תרגול - מצבים שלא מתבלבלים

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

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

פעולה שמחזיקה מצב

כתבו factory שמחזירה counter עם capture לפי ערך. צרו שני counterים מאותו ערך התחלתי והראו שהמצב שלהם עצמאי. כתבו ניתוח של הגרסה שתופסת reference למשתנה מקומי, בלי להפעיל אותה אחרי שהמשתנה נעלם.

מדידת משך

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

בחירת טיפוס

בחרו optional, variant או expected נתמכת עבור חיפוש מפתח בזיכרון, קריאת קובץ ושלב parser שמחזיר שגיאה עם מיקום. נמקו איזה מידע כל בחירה מאפשרת לשמור.