לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #4  
ישן 11-06-2007, 20:54
  סאשה הסוס סאשה הסוס אינו מחובר  
 
חבר מתאריך: 13.07.06
הודעות: 1,070
בבקשה:
בתגובה להודעה מספר 3 שנכתבה על ידי AmiHod1 שמתחילה ב "אתה יכול לרשום כאן דוגמאות של..."

רפרנס:

  • כשאתה מעביר פרמטרים מטיפוסים שאינם פרימיטיביים. לדוגמה:
קוד PHP:
 void foo(const Barbar); 



  • כשאתה כותב template, ולא יודע מה יהיה הטיפוס:
קוד PHP:
 template<typename T>
void foo(const Tt); 



פויינטר:
  • לעולם לא.
טוב, בעצם זה קשר. יש מקרים שבהם צריך להשתמש במצביעים. רובם הם מקרים פרטיים של המקרה הכללי בו אתה מנהל זיכרון באופן ידני ומפורש. כמובן שכמעט אין סיבה שתנהל זיכרון באופן מפורש ב-CPP, ולכן אין באמת סיבה שתשתמש בפויינטרים.


אגב, אם אתה רוצה להגיב למישהו (נגיד , לי), אתה אמור ללחוץ על כפתור התגובה בתגובה של מי שאתה רוצה להגיב לו.

_____________________________________
סאשה הסוס, סוכן אוסינט.‏

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 14-06-2007, 18:01
  סאשה הסוס סאשה הסוס אינו מחובר  
 
חבר מתאריך: 13.07.06
הודעות: 1,070
ציטוט חלקי כל כך? אפשר לרגע לחשוב שאתה בכוונה מנסה להונות כאן מישהו...
בתגובה להודעה מספר 5 שנכתבה על ידי zivbr שמתחילה ב "[QUOTE=סאשה..."

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

רפרנסים מצד שני, לא גורמים לשום בעיות כל עוד משתמשים בהם כשצריך (כלומר, בעיקר
במקרה שציינתי למעלה). הם רק מקלים על הקריאות (לא רואים כל מיני סימנים מוזרים כמו
* ו &), ולא גורמים לשום בלבול.

כשמקבלים פרמטר שלא מתכוונים לשנות, מקבלים אותו כ-const-reference. כל דבר אחר
הוא טעות. כשתופסים חריגות, תופסים אותך כ-const-reference (ואולי אפילו unnamed).
כל דבר אחר הוא טעות.
_____________________________________
סאשה הסוס, סוכן אוסינט.‏

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 14-06-2007, 20:04
  משתמש זכר zivbr zivbr אינו מחובר  
 
חבר מתאריך: 22.01.05
הודעות: 715
בתגובה להודעה מספר 8 שנכתבה על ידי סאשה הסוס שמתחילה ב "אתה צודק - לא הבנת נכון."

אני לא רואה בהודעה שלך שום דבר שהזכיר את המילה פרימיטיבי בכל צורה שהיא:

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

רפרנסים מצד שני, לא גורמים לשום בעיות כל עוד משתמשים בהם כשצריך (כלומר, בעיקר
במקרה שציינתי למעלה). הם רק מקלים על הקריאות (לא רואים כל מיני סימנים מוזרים כמו
* ו &), ולא גורמים לשום בלבול.

כשמקבלים פרמטר שלא מתכוונים לשנות, מקבלים אותו כ-const-reference. כל דבר אחר
הוא טעות. כשתופסים חריגות, תופסים אותך כ-const-reference (ואולי אפילו unnamed).
כל דבר אחר הוא טעות.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 14-06-2007, 20:09
  סאשה הסוס סאשה הסוס אינו מחובר  
 
חבר מתאריך: 13.07.06
הודעות: 1,070
כי אתה לא רוצה לראות
בתגובה להודעה מספר 9 שנכתבה על ידי zivbr שמתחילה ב "אני לא רואה בהודעה שלך שום..."

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

רפרנסים מצד שני, לא גורמים לשום בעיות כל עוד משתמשים בהם כשצריך (כלומר, בעיקר
במקרה שציינתי למעלה
). הם רק מקלים על הקריאות (לא רואים כל מיני סימנים מוזרים כמו
* ו &), ולא גורמים לשום בלבול.

כשמקבלים פרמטר שלא מתכוונים לשנות, מקבלים אותו כ-const-reference. כל דבר אחר
הוא טעות. כשתופסים חריגות, תופסים אותך כ-const-reference (ואולי אפילו unnamed).
כל דבר אחר הוא טעות.


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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 14-06-2007, 20:28
  סאשה הסוס סאשה הסוס אינו מחובר  
 
חבר מתאריך: 13.07.06
הודעות: 1,070
זה מובן וברור, כי ההכללה סוייגה: "כשאתה מעביר פרמטרים __מטיפוסים שאינם פרימיטיביים__"
בתגובה להודעה מספר 11 שנכתבה על ידי zivbr שמתחילה ב "קראתי את התגובה העליונה שלך..."

למה? מיותר מסיבה אחת:
  • זה מבזבז זיכרון.
  • זה מבזבז זמן עיבוד.
אלה הם דברים ברורים להחריד. קיימת עוד סיבה:
  • יש אובייקטים שאסור להעתיק.
לדוגמה: אם מעבירים אובייקט מטיפוס Thread כפרמטר לפונקציה שעושה לו משהו (בווינדוס לדוגמה, זה תקף בעצם לכל אובייקט קרנל, לחלונות, וכו'); exceptions בדרך כלל אסור להעתיק, ולכן צריך לתפוס אותם כ-const-reference, וכו'.

המצב ברור: שימוש ב-const-reference כשמעבירים פרמטר מטיפוס שאינו פרימיטיבי ולא מתכוונים לשנות נותן שני יתרונות תמיד, ויתרון שלישי וחשוב מאוד במקרים רבים (מסדיר את אופן הכתיבה של הקוד, וזה הופך ליתרון תמיד), ואין לו שום חסרונות. לכן, תמיד צריך לעשות כך.

בכפוף לתנאי התקנון הנמצאים במשרדי החברה.

_____________________________________
סאשה הסוס, סוכן אוסינט.‏

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 03:58

הדף נוצר ב 0.14 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר