בית התפתחות מהי תבנית? - הגדרה מטכנולוגיה

מהי תבנית? - הגדרה מטכנולוגיה

תוכן עניינים:

Anonim

הגדרה - מה המשמעות של תבנית?

תבנית היא תכנת תכנות C ++ המאפשרת לבצע פעולות וכיתות עם סוגים גנריים, המאפשרת פונקציונליות עם סוגי נתונים שונים מבלי לשכתב בלוקים קוד שלמים עבור כל סוג.


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

Techopedia מסביר תבנית

C ++ מספק את שני הסוגים הבאים של תבניות המשמשות ליישום קונסטרוקציות כלליות, כגון רשימות, תורים, וקטורים וערימות:

  • תבנית כיתתית: דומה להגדרה כיתתית רגילה אך מקודמת על ידי התבנית הבאה: ואחריו הצהרת גוף הכיתה, כולל נתוני חברים ופונקציות. הצהרות ופונקציות חבר של תבנית כיתות נמצאות באותו קובץ כותרת. תבניות כיתות C ++ מתאימות ביותר לשיעורי מכולה.
  • תבנית פונקציה: מיושמת באמצעות פרמטרים של תבניות, שהם סוג פרמטרים מיוחד המשמש להעברת סוג כארגומנט פונקציה. לפיכך, פונקציונליות עשויה להתאים ליותר מסוג או מחלקה אחת מבלי לחזור על הקוד כולו. התבנית להכריז על תבנית פונקציה עם פרמטר מסוג היא אחת מהתבניות הצהרת פונקציה_ או תבנית הצהרת פונקציה. אין הבדל בין מילות המפתח למחלקה לבין סוג השם.
תבניות בדרך כלל דורשות בדיקת סוג בזמן ההרכבה.


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

מהי תבנית? - הגדרה מטכנולוגיה