ABA


"מישהו פה יכול להסביר לי Templates?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #14191 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14191
DLN
חבר מתאריך 20.4.07
15884 הודעות
   21:49   04.07.07   
אל הפורום  
  מישהו פה יכול להסביר לי Templates?  
 
   עד היום לא הבנתי מה זה לעזאזל ולמה זה טוב
כאילו ממש אין לי מושג מה זה


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  Templates Net_Boy  04.07.07 22:50 1
     אז זהו, שאני לא מבין אף הסבר על Templates DLN 05.07.07 17:22 2
         אממ תראה עידן_הכלי 05.07.07 19:56 3
             אהא... נחמד :) תודה... אבל איך אני ממש את זה? DLN 05.07.07 21:47 5
         עידן הביא לך דוגמא ל function template Net_Boy  05.07.07 21:46 4
             אוווו הבנתי תודה :) חזק ביותר DLN 05.07.07 21:47 6
                 זה בעצם הדבר הבא מעל העמסת פונקציות DLN 05.07.07 21:49 7
                     תראה זה לא בא להחליף את העמסת פונקציות עידן_הכלי 06.07.07 18:44 8
                         כע ברור DLN 06.07.07 20:07 9

       
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   22:50   04.07.07   
אל הפורום  
  1. Templates  
בתגובה להודעה מספר 0
 
   אחד הדברים הכי יפים ומעניינים של C++
מה זה ?

תבנית המומרת לקוד ב compile time (בדומה ל Macro)

יש 2 סוגי תבניות :
function template
class template

function זה אלגוריתם גנרי לכל טיפוס שיש.
דוגמא קלאסית זה min,max שכל מה שאתה צריך לעשות שזה יעבוד עם המחלקה שלך זה לממש את אופרטור < או > .

class template - בדיוק כמו מחלקה , רק ששוב זה מתאים לכל טיפוס שתחפוץ , לדוגמא כל container שתחפוץ בו.

מה זה נותן ? ממשק מדהים ומהיר לאלגוריתמים ומבני נתונים גנריים (ע"ע STL)
מה גם שזה typesafe אז זה בטוח להשתמש (בניגוד למאקרו)

זה היה 60 שניות על templates

לעוד פרטים ודוגמאות קוד תחפש בגוגל על
Templates.
Generic programming


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   17:22   05.07.07   
אל הפורום  
  2. אז זהו, שאני לא מבין אף הסבר על Templates  
בתגובה להודעה מספר 1
 
   גם מהספר הוד עמי שיש לי פה לידי לא מבין מה לעזאזל רוצים ממני
ובגוגל הדברים שאני מוצא עוד יותר מסובכים
הדבר היחיד שאני צריך כדי להבין את זה זה דוגמא פשוטה, גם מבחינת שימוש וגם מבחינת תחביר.
יש לך משהו כזה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
עידן_הכלי

   19:56   05.07.07   
אל הפורום  
  3. אממ תראה  
בתגובה להודעה מספר 2
 
   אני לא סגור על הסינטקס, אבל בגדול זה סוג של Attribute שאתה שם לדוגמה מעל פונקציה כמו

template<myType>
void minMax(myType a,myType b)
{
if (a<b)
printf("bla bla bla bla");

}

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   21:47   05.07.07   
אל הפורום  
  5. אהא... נחמד :) תודה... אבל איך אני ממש את זה?  
בתגובה להודעה מספר 3
 
   יעני עכשיו יש לי את התבנית מינמקס הזו
עכשיו בעצם במקום ליצור כל פעם את הפונקציית מינמקס לטיפוסים שונים אני יכול ליצור פונקציה לפי התבנית של אותה הפונקציה עם טיפוסים משלי?
אם כן איך אני עושה את זה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   21:46   05.07.07   
אל הפורום  
  4. עידן הביא לך דוגמא ל function template  
בתגובה להודעה מספר 2
 
   הנה לינק עם הרבה דוגמאות ל Class template

http://www.cplusplus.com/doc/tutorial/templates.html

ממליץ לך להסתכל גם על נושא שלא דיברתי עליו
Template Specialization

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   21:47   05.07.07   
אל הפורום  
  6. אוווו הבנתי תודה :) חזק ביותר  
בתגובה להודעה מספר 4
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   21:49   05.07.07   
אל הפורום  
  7. זה בעצם הדבר הבא מעל העמסת פונקציות  
בתגובה להודעה מספר 6
 
   ערכתי לאחרונה בתאריך 05.07.07 בשעה 21:50 בברכה, DLN
 
בעצם במקום ליצור פונקציה מועמסת לכל טיפוס אפשרי אני יוצר תבנית
אחלה
זה גם מאפשר להשתמש בטיפוסים מוגדרים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
עידן_הכלי

   18:44   06.07.07   
אל הפורום  
  8. תראה זה לא בא להחליף את העמסת פונקציות  
בתגובה להודעה מספר 7
 
   אבל זה באמת נותן לך אפשרות לעשות דברים שלא יכולת לעשות עם העמסה כמו טיפוסים לא מוכרים

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   20:07   06.07.07   
אל הפורום  
  9. כע ברור  
בתגובה להודעה מספר 8
 
   התכוונתי שמבחינת תועלת זה דומה מאוד להעמסה רק לא ידנית


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net