פורסם 2005 באוקטובר 2420 שנים בשביל שהתוכנה שאני עושה תהיה די יעילה אני רציך להפסיק מדי פעם לולאות FOR האם עדיף לבצע לולאות For עם Break או לולאת While.המצב כרגע הו לולאת While.
פורסם 2005 באוקטובר 2420 שנים break זה רע, נקודה. משתמשים בו רק כשחייבים.מבחינת המחשב אין ממש הבדל בין for ל-while, הם ממומשים פחות או יותר באותה צורה (ה-for חוסך לך כתיבת שתי שורות קוד, ופשוט יפה יותר להשתמש בו כשזה מתאים).מבחינת יעילות, יש יתרון אחד ל-for, וזה כשיש לך לולאה בגודל קבוע וידוע מראש (בלי breakים ושינוי של האינדקס עליו אתה רץ בתוך הלולאה), ואז הקומפיילר יודע לעשות ייעול שנקרא loop unrolling.
פורסם 2005 באוקטובר 2520 שנים מחבר אני יודע שכאשר יש מספר מחזורים מסויים עדיף להשתמש בFor ואני מממש את זה אבל גם במצב כרגע יש לי מספר מחזורים מסויים רק שלפעמים כבר באמצע הסריקה קיבלתי מה שרציתי ולכן אני מפסיק את זה בשביל היעילות אז כמו שאני מבין מפה נהגתי בסדר שכתבתי את לולאות הWhile רק חבל שצריך לאפס את המונה כל פעם ולקדם אותו זה מוסיף עוד שורות......
פורסם 2005 באוקטובר 2520 שנים אז תשים את זה בתוך FOR ולא בתוך WHILE.initwhile(cond){step}במקוםfor(init;cond;step){}ולהיפך
פורסם 2005 באוקטובר 2520 שנים מחבר אז תשים את זה בתוך FOR ולא בתוך WHILE.initwhile(cond){step}במקוםfor(init;cond;step){}ולהיפךהאם זה נהוג לשים תנאים שם שלא קשורים למספר המחזורים???? אפשרי זה כן השאלה אם נהוג??
פורסם 2005 באוקטובר 2520 שנים לא, זה לא ממש נהוג.לולאת for מיועדת בדיוק למקרים שבהם יש לך נקודת התחלה ספציפית, נקודת סיום ספציפית, ופונקציית התקדמות ספציפית.(לדוגמה - נקודה התחלה 0, סיום 100, והתקדמות 1, או לחילופין כשאתה עובר על רשימה, אז נקודת התחלת הרשימה, סיום הרשימה, ומעבר מאיבר לאיבר).בכל מקרה, אם יש לך breakים באמצע ה-for, או שתנאי העצירה שלו תלוי בכל מיני דברים שיכולים להשתנות בתוך הלולאה, הוא לא יהיה יותר יעיל מ-while.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.